如果不指定 python -m pytest,Pytest 命令将无法工作

问题描述 投票:0回答:1

我的项目设置在 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
模块出现这种行为背后的原因是什么?

python pytest
1个回答
0
投票

尝试将文件重命名为“

test_filename.py
”,将函数重命名为“
test_functionname

Pytest 文档指出:

一般来说,pytest 是通过命令

pytest
调用的(见下文) 其他调用 pytest 的方法)。这将执行所有文件中的所有测试 其名称遵循当前形式
test_*
.py 或
\*_test.py
的形式 目录及其子目录。更一般地, pytest 如下 标准测试发现规则。

您可以在此处阅读完整的文档页面。

© www.soinside.com 2019 - 2024. All rights reserved.