py.测试main()调用示例

2024-05-16 09:44:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个结构。在

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

如果我叫run_测试.py使用简单的viapytest.main(),它不会调用“tests”模块中的测试。我试着传递一些参数,比如module=“tests”等等,但是它们都不起作用。我必须完全放弃auto-discovery并使用suite参数来获取任何测试。在

我错过了什么?我试图遍历pytest模块中的代码,但它太复杂了,无法理解。文件也很糟糕。在


Tags: 模块runpytest参数bininitpytest
2条回答

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

import pytest

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

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

我知道这是以后的答案。 我希望它能在将来帮助别人。在

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

相关问题 更多 >