pytest:使用python进行简单而强大的测试
pytest的Python项目详细描述
pytest框架使编写小测试变得容易,但是 扩展以支持应用程序和库的复杂功能测试。
简单测试示例:
# content of test_sample.pydefinc(x):returnx+1deftest_answer():assertinc(3)==5
执行它:
$ pytest ============================= test session starts ============================= collected 1 items test_sample.py F ================================== FAILURES =================================== _________________________________ test_answer _________________________________ def test_answer(): > assert inc(3) == 5 E assert 4 == 5 E + where 4 = inc(3) test_sample.py:5: AssertionError ========================== 1 failed in 0.04 seconds ===========================
由于pytest的详细断言内省,只使用了简单的assert语句。有关更多示例,请参见getting-started。
功能
- 有关失败的assert statements(不需要记住self.assert*名称)的详细信息;
- Auto-discovery 测试模块和功能;
- Modular fixtures用于 管理小型或参数化的长寿命测试资源;
- 可以运行unittest(或试用版), nose测试套件开箱即用;
- python 3.5+和pypy3;
- 丰富的插件架构,超过315+external plugins和蓬勃发展的社区;
文档
有关完整的文档,包括安装、教程和pdf文档,请参见https://docs.pytest.org/en/latest/。
错误/请求
请使用GitHub issue tracker提交错误或请求功能。
更改日志
请参阅Changelog页,了解每个版本的修复和增强。
支持pytest
您可以通过获取Tidelift subscription来支持pytest。
Tidelift为软件开发团队提供了购买和维护软件的单一来源, 具有专业级的保证,专家们知道最好的,同时无缝集成现有的工具。
安全性
pytest从未与安全漏洞关联,但无论如何,要报告 安全漏洞请使用Tidelift security contact。 Tidelift将协调修复和披露。