python - py.test main() 调用示例

标签 python unit-testing pytest

我有这个结构。

 /bin 
   __init__.py
   run_test.py (call pytest.main)
 /tests
   __init__.py
   test_xyz.py

如果我只是通过 pytest.main() 调用 run_test.py,它不会调用“tests”模块中的测试。我尝试传递几个参数,如 module="tests"等,但它们不起作用。我必须完全取消自动发现并使用套件参数来获取任何测试。

我错过了什么?我试图遍历 pytest 模块中的代码,但它太复杂而无法理解。而且文档非常糟糕。

最佳答案

您可以传递要执行的内容的完整路径。

import pytest

pytest_args = [
    '/tests',
    # other tests here...
]
pytest.main(pytest_args)

这将执行目录中找到的所有测试,
没有必要有/tests/__init__.py

关于python - py.test main() 调用示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28652315/

相关文章:

python - 在 seaborn 条形图中更改色标

python - PyCharm 和 IronPython 代码完成?

python - 如何从jupyter笔记本导出清理后的数据,而不是原始数据

python - 如何理解 Python 循环的 `else` 子句?

php - mock :如何将 shouldReceive 与 method_exists 一起使用?

python - pytest KeyError:docker容器内的 'USER'

python - 在pytest中设置动态文件夹和报告名称

python - 将自定义标记应用于 pytest 参数化标记的特定值

unit-testing - 如何对调用 g.formatDate 的标签库进行单元测试?

python - 模拟 Tornado AsyncHTTPClient 请求/响应