我有以下目录结构:
src
\conftest.py
\dir_A
\run_A.py
\test_run_A.py
\dir_B
\run_B.py
其中 run_A.py 具有以下代码:
from dir_B import run_B
...
当我从 src
运行 pytest
时,出现错误:
ImportError while importing test module '/home/user/src/dir_A/run_A.py'
...
ImportError: cannot import name 'run_B'
尽管使用了conftest.py,但还是失败了,有什么原因吗?
我想补充一点,从 src
运行 python3 -m dir_A.test_run_A
作为测试效果非常好。
最佳答案
您会发现此链接很有帮助:https://docs.pytest.org/en/latest/pythonpath.html
本质上,当从 src
目录运行这些测试时,pytest
将一直走到 /home/user/src/dir_A/run_A。 py
.如果没有任何 __init__.py
文件,它将拒绝走到其他地方,因为它没有意识到它是一个更大的包的一部分。
关于python - 尽管在根目录中使用conftest,Pytest导入错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59743292/