a65c80bf2491afb40655ce1d24c52174.png

pytest

框架使编写小型测试变得容易,但可以扩展以支持复杂的功能测试

功能

  • 有关失败的断言语句的详细信息(无需记住self.assert*名称);
  • 自动发现测试模块和功能;
  • 模块化夹具,用于管理小型或参数化的长期测试资源;
  • 可以开箱即用地运行单元测试(包括试用版)和鼻子测试套件;
  • Python 3.5+和PyPy 3;
  • 丰富的插件架构,拥有超过315个以上的外部插件和繁荣的社区;

一个简单测试的例子:

# content of test_sample.pydef inc(x): return x + 1def test_answer(): assert inc(3) == 5

要执行它:

$ pytest=========================== test session starts ============================platform linux -- Python 3.x.y, pytest-5.x.y, py-1.x.y, pluggy-0.x.ycachedir: $PYTHON_PREFIX/.pytest_cacherootdir: $REGENDOC_TMPDIRcollected 1 itemtest_sample.py F [100%]================================= FAILURES =================================_______________________________ test_answer ________________________________ def test_answer():> assert inc(3) == 5E assert 4 == 5E + where 4 = inc(3)test_sample.py:6: AssertionError============================ 1 failed in 0.12s =============================

由于pytest详细的断言自省,因此仅使用纯assert语句。有关更多示例,请参见入门。

文档

有关完整的文档,包括安装,教程和PDF文档,请参阅官方文档

开源地址:

https://github.com/pytest-dev/pytest

更多更优质的资讯,请关注我,你的支持会鼓励我不断分享更多更好的优质文章。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐