小编cap*_*jim的帖子

pytest:不同目录下的源文件和测试文件

我有一个项目,它由源代码和测试代码组成。源代码存储在一个目录中,我的测试存储在另一个目录中。

root
  |- src
  | |- pkg
  | | | - __init__.py
  | | | - src1.py
  | | | - src2.py
  |- test
  | |- tests_for_pkg
  | | | - __init__.py
  | | | - first_test.py
  | | | - second_test.py
Run Code Online (Sandbox Code Playgroud)

当我运行我的测试时,我需要在_test.py文件中导入我的所有源代码。

from pkg.src1 import src1
from pkg.src2 import src2
Run Code Online (Sandbox Code Playgroud)

我想使用python -m pytest <tests>或运行脚本一次性运行我的所有测试,但我不断收到有关我的导入的错误。

我之前在 Eclipse IDE 中遇到过 Python 路径问题,因此我选择使用相对路径,并根据文件夹结构中的相对路径将它们作为外部库添加到 Python 路径中。

例如,我的包含路径是:

../src/pkg
Run Code Online (Sandbox Code Playgroud)

如何在 Python 命令行/作为 Python 脚本实现这样的相对路径?

编辑:使用提供的链接,我能够通过添加conftest.py文件并附加我的代码的位置来使我的测试工作。

但是,我的实际项目有一个庞大的源代码树,如下所示:

root
| …
Run Code Online (Sandbox Code Playgroud)

python unit-testing pytest

7
推荐指数
1
解决办法
6494
查看次数

标签 统计

pytest ×1

python ×1

unit-testing ×1