- Pytest:帮助您编写更好的程序
- 完整的 Pytest 文档
- 安装和入门
- 使用和调用
- 在现有测试套件中使用 pytest
- 测试中断言的编写和报告
- Pytest 夹具:显式、模块化、可扩展
- 用属性标记测试函数
- MonkeyPatching / Mocking 模块和环境
- 临时目录和文件
- 捕获 stdout/stderr 输出
- 捕获警告
- 模块和测试文件的 Doctest 集成
- 跳过和 xfail:处理无法成功的测试
- 参数化夹具和测试功能
- 缓存:使用交叉测试运行状态
- UnitTest.TestCase 支持
- 运行为鼻子编写的测试
- 经典的 Xunit 风格设置
- 安装和使用插件
- 编写插件
- 登录
- 良好的集成实践
- 古怪的测试
- Pytest 导入机制和 sys.path/PYTHONPATH
- 设置 bash 完成
- API 引用
- _pytest.hookspec
- _pytest.python_api
- _pytest.outcomes
- _pytest.config
- _pytest.mark
- _pytest.recwarn
- _pytest.assertion
- _pytest.freeze_support
- _pytest.fixtures
- _pytest.cacheprovider
- _pytest.capture
- _pytest.doctest
- _pytest.junitxml
- _pytest.logging
- _pytest.monkeypatch
- _pytest.pytester
- _pytest.tmpdir
- _pytest.python
- _pytest.nodes
- _pytest.reports
- _pytest._code.code
- _pytest.config.argparsing
- _pytest.main
- pluggy.callers
- _pytest.config.exceptions
- py.test 2.0.0:断言++、UnitTest++、Reporting++、Config++、Docs++
- 示例和自定义技巧
- 配置
- 贡献开始
- 向后兼容策略
- Python 2.7 和 3.4 支持
- 企业版 pytest
- 项目实例
- 历史笔记
- 弃用和移除
- 发展指南
- 演讲和辅导
Pytest:帮助您编写更好的程序
这个 pytest
框架使编写小测试变得容易,但是可以扩展到支持应用程序和库的复杂功能测试。
简单测试示例:
# content of test_sample.py def inc(x): return x + 1 def test_answer(): assert inc(3) == 5
执行:
$ pytest =========================== test session starts ============================ platform linux -- Python 3.x.y, pytest-6.x.y, py-1.x.y, pluggy-0.x.y cachedir: $PYTHON_PREFIX/.pytest_cache rootdir: $REGENDOC_TMPDIR collected 1 item test_sample.py F [100%] ================================= FAILURES ================================= _______________________________ test_answer ________________________________ def test_answer(): > assert inc(3) == 5 E assert 4 == 5 E + where 4 = inc(3) test_sample.py:6: AssertionError ========================= short test summary info ========================== FAILED test_sample.py::test_answer - assert 4 == 5 ============================ 1 failed in 0.12s =============================
由于 pytest
详细的断言反省,只是简单的 assert
使用语句。见 Getting Started 更多示例。
特征
失败的详细信息 assert statements (不需要记住
self.assert*
姓名)Auto-discovery 测试模块和功能
Modular fixtures 用于管理小型或参数化的长期测试资源
Python 3.6+和PyPy 3
丰富的插件架构,超过315+ external plugins 繁荣的社区
文档
请看 Contents 完整的文档,包括安装、教程和PDF文档。
错误/请求
请使用 GitHub issue tracker 提交错误或请求功能。
支持pytest
Open Collective 是一个开放和透明社区的在线融资平台。它提供了筹集资金和完全透明地分享财务的工具。
它是个人和公司选择的平台,希望直接向项目提供一次性或每月的捐款。
在中查看更多详细信息 pytest collective .
企业版pytest
作为Tidelift订阅的一部分提供。
pytest和其他数千个软件包的维护人员正在与Tidelift合作,为您用来构建应用程序的开源依赖项提供商业支持和维护。节省时间、降低风险并改善代码运行状况,同时向您所使用的确切依赖项的维护人员付费。
安全性
pytest从未与安全漏洞关联,但无论如何,要报告安全漏洞,请使用 Tidelift security contact . Tidelift将协调修复和披露。
许可
版权所有Holger Krekel等人,2004-2020。
根据 MIT 许可证,pytest是免费的开源软件。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论