pytest
框架使编写小型测试变得很容易,而且可以扩展以支持应用程序和库的复杂功能测试
以下是一个简单测试的示例:
# content of test_sample.py
def inc(x):
return x + 1
def test_answer():
assert inc(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.6+和PyPy3
- 丰富的插件架构,超过850+external plugins欣欣向荣的社区
文档
有关完整文档,包括安装、教程和PDF文档,请参阅https://docs.pytest.org/en/stable/
错误/请求
请使用GitHub issue tracker提交错误或请求功能
更改日志
请查阅Changelog有关每个版本的修复和增强功能的页面
支撑架最热
Open Collective是一个面向公开和透明社区的在线融资平台。它提供了在完全透明的情况下筹集资金和共享财务的工具
它是个人和公司的首选平台,他们想要直接向该项目进行一次性或每月捐款。
有关更多详细信息,请参阅pytest collective
对企业来说是最火爆的
作为Tidelift订阅的一部分提供
pytest和数千个其他包的维护者正在与Tidelift合作,为您用于构建应用程序的开源依赖项提供商业支持和维护。节省时间、降低风险并提高代码的健全性,同时付钱给您使用的确切依赖项的维护人员
安全性
pytest从未与安全漏洞相关联,但无论如何,若要报告安全漏洞,请使用Tidelift security contactTidelift将协调修复和披露
许可证
版权所有Holger Krekel和其他人,2004-2021
根据MIT许可,pytest是免费的开源软件