py.test main()调用示例

时间:2015-02-21 22:49:06

标签: 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模块中的代码,但它太复杂而无法理解。文档非常糟糕。

2 个答案:

答案 0 :(得分:0)

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

import pytest

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

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

答案 1 :(得分:0)

我知道稍后再回答。 我希望它将来可以对某人有所帮助。

在根项目目录中最好有run_test.py,我的意思是将run_test.py/bin移到更高一级的项目结构。