我的项目设置在 VS 代码中,与任何设置一样好。当我跑步
python -m pytest testfile.py
时,一切都进展顺利。但是当我尝试 pytest testfile.py
时,它会出现: ModuleNotFoundError: No module named 'Library'
指向我作为框架的一部分创建的文件夹之一。
不正确的修复1: 我对类似问题的搜索使我相信在所有文件夹中添加
__init__.py
(因此将它们设为目录)可以解决问题。但是,我尝试将其添加到所有文件夹中,但这没有帮助。 (后来,根据其他人的建议,我也删除了 __init__.py
文件。这也不起作用)
不正确的修复2: 有人建议在根文件夹中创建一个 vscode 文件:
vscode.env
,并添加一个变量PYTHONPATH = <test_files_path>
。那也没用。
我的
pip
和 locust
命令无需编写 python -m <module_name>
即可运行。 pytest
模块出现这种行为背后的原因是什么?
尝试将文件重命名为“
test_filename.py
”,将函数重命名为“test_functionname
”
Pytest 文档指出:
一般来说,pytest 是通过命令
调用的(见下文) 其他调用 pytest 的方法)。这将执行所有文件中的所有测试 其名称遵循当前形式pytest
.py 或test_*
的形式 目录及其子目录。更一般地, pytest 如下 标准测试发现规则。\*_test.py
您可以在此处阅读完整的文档页面。