我想用py.test来运行Python项目的单元测试。直到最近我用鼻子,它运行测试对我的本地源代码,而不是安装的软件包,但py.test似乎要运行对已安装的软件包,这意味着我必须在每次测试运行之前运行python setup.py install
。有没有一种标准的方法来告诉py.test针对特定的代码运行?
该项目的组织,像这样:
/project
/project
__init__.py
project_file.py
/test
__init__.py
/test_project
test_project_file.py
我发现让py.test针对本地代码运行的唯一方法是在顶部/项目文件夹中运行python -m pytest
。这很奇怪,因为在相同的位置运行py.test
针对已安装的代码运行。根据the docs这些命令应该是等效的,而--version为两者返回相同的信息。
有没有一种标准的方式来告诉py.test针对特定的代码运行?我一直无法在py.test的文档中找到明确的答案。
文档Skylar已更新以反映此问题 - https://docs.pytest.org/zh-CN/latest/nose.html#unsupported-idioms-known-issues –