我想了解运行之间的区别:
\n$ pytest\nRun Code Online (Sandbox Code Playgroud)\n和
\n$ python -m pytest tests\nRun Code Online (Sandbox Code Playgroud)\n我正在 Mac 上的虚拟环境中工作。\n第一个解决方案给了我一个错误:
\nModuleNotFoundError: No module named 'app' \nRun Code Online (Sandbox Code Playgroud)\n第二种解决方案效果很好。
\n为什么第二个解决方案有效而第一个解决方案无效?\n我怎样才能让它只使用$ pytest?
我的文件夹结构:
\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 \nRun Code Online (Sandbox Code Playgroud)\n在 test_app.py 中,此行失败:
\nfrom app import app\nRun Code Online (Sandbox Code Playgroud)\n