0

我有一个目录,它有一个应用程序,它在“测试”目录中有相应的测试脚本文件。

project/
--myapp/
--__init__.py(<-- updated)
--tests/
  --tests1.py
  --tests2.py etc
--run_tests.py

runtests.py递归遍历'tests'目录并执行其中的所有python脚本。

tests*.py必须导入 myapp 才能运行测试。由于tests*.py文件位于“测试”目录中,因此它不起作用。

如何使“myapp”可用于tests*.py“tests”目录中的所有文件?我认为有比在 PYTHONPATH 中设置“myapp”更简单的解决方案。

注意:nosetests tests/会工作。所以,只是好奇它是如何工作的。

提前致谢。

4

2 回答 2

1

如果myapp在 pythonpath 中:

from myapp import mymodule

您还可以进行相对导入:

from .. import mymodule
于 2013-06-07T14:15:30.837 回答
0

Python 具有使目录成为包(init .py)的功能。这样,每个 .py 文件都成为该模块的一部分。

尝试检查这篇文章

__init__.py 是干什么用的?

于 2013-06-07T14:14:26.433 回答