pytest 框架可以轻松编写小型测试,
并且能够支持应用程序和库的复杂功能测试。
一个简单测试的例子:
# 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 语句 提供详细信息(无需记住
self.assert*名称) - 自动发现测试模块和函数
- 用于管理小型或参数化的长期测试资源的 模块化 fixtures
- 开箱即用即可运行 unittest(或 trial)测试套件
- Python 3.10+ 或 PyPy3
- 丰富的插件架构,拥有超过 1300 个 外部插件和活跃的社区
有关完整的文档,包括安装、教程和 PDF 文档,请参见 https://docs.pytest.org/en/stable/。
请使用 GitHub issue tracker 提交 bugs 或请求功能。
请参阅 Changelog 页面,了解每个版本的修复和增强功能。
Open Collective 是一个为开放透明社区提供支持的在线资助平台。 它提供了筹集资金和完全透明地分享财务的工具。
它是希望一次性或每月直接向项目捐款的个人和公司的首选平台。
有关更多详细信息,请参见 pytest collective。
作为 Tidelift Subscription 的一部分提供。
pytest 和数千个其他软件包的维护者正在与 Tidelift 合作,为 您用于构建应用程序的开源依赖项提供商业支持和维护。 节省时间,降低风险,提高代码健康度,同时向您使用的确切依赖项的维护者付费。
pytest 从未出现过安全漏洞,但无论如何,要报告安全漏洞,请使用 Tidelift 安全联系人。 Tidelift 将协调修复和披露。
版权归 Holger Krekel 及其他人所有,2004 年。
pytest 是根据 MIT 许可证分发的,是自由开源软件。