小编Mat*_*asM的帖子

$ pytest 和 $ python -m pytest 测试之间的区别

我想了解运行之间的区别:

\n
$ pytest\n
Run Code Online (Sandbox Code Playgroud)\n

\n
$ python -m pytest tests\n
Run Code Online (Sandbox Code Playgroud)\n

我正在 Mac 上的虚拟环境中工作。\n第一个解决方案给了我一个错误:

\n
ModuleNotFoundError: No module named 'app'  \n
Run Code Online (Sandbox Code Playgroud)\n

第二种解决方案效果很好。

\n

为什么第二个解决方案有效而第一个解决方案无效?\n我怎样才能让它只使用$ pytest

\n

我的文件夹结构:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 app.py   \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 requirements.txt  \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 templates  \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 tests  \n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 conftest.py  \n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 functional  \n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py  \n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test_s.py   \n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 unit   \n\xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py   \n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test_app.py   \n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 venv   \n
Run Code Online (Sandbox Code Playgroud)\n

在 test_app.py 中,此行失败:

\n
from app import app\n
Run Code Online (Sandbox Code Playgroud)\n

python pytest

10
推荐指数
2
解决办法
2203
查看次数

标签 统计

pytest ×1

python ×1