我正在考虑从unittest
转移到pytest
。我喜欢做的一件事是做setup.py install
然后从已安装的模块运行测试,而不是直接从源代码运行。这意味着我会收到我忘记包含在MANIFEST.in
中的所有文件。
使用unittest
,我可以让测试运行器通过指定根测试模块来进行测试发现。例如python -m unittest myproj.tests
有没有办法用pytest
执行此操作?
我使用了以下黑客攻击,但我希望有一种内置的清洁方式。
pytest $(python -c 'import myproj.tests; print(myproj.tests.__path__[0])')
答案 0 :(得分:0)
使用pytest,您可以改为指定根测试目录的路径。它将运行pytest能够发现的所有测试。您可以在pytest good practices
中找到更多详细信息答案 1 :(得分:0)
Tests as part of application的pytest good practices部分表示,如果您的测试在myproj.tests
处可用,请运行:
py.test --pyargs myproj.tests