pytest 插件开发,pytest框架实战原理
Pytest插件
我们是pytest忠实的虚拟udon面,并把它作为工作和开源项目的默认Python测试工具。在本月的Python专栏中,我们分享了一些关于我们为什么喜欢pytest以及为什么用pytest进行测试非常有趣的插件。
pytest是什么?正如该工具的网站所说:“pytest框架使编写小测试变得容易,但它可以扩展到支持应用程序和库的复杂功能测试。”
测试_*。py test_*和以test_*开头的函数。然后,Pytest将找到整个项目中的所有测试,并在控制台中运行pytest时自动运行它们。Py接受可能在Pytest Runner停止时改变的标志和参数、输出结果的方式、运行的测试以及输出中包含的信息。它还包括一个set_trace()函数,可以输入到测试中。这将暂停测试,并允许您与变量进行交互,否则它将在控制台中“循环”以调试项目。pytest最好的一个方面是它强大的插件生态系统。由于pytest是一个如此受欢迎的测试库,多年来已经创建了许多插件来扩展、定制和增强它的功能。这八个插件是我们的最爱。
太好了。81. 焦糖
Pytest-sugar更改了pytest-sugar的默认外观,添加了一个进度条,并立即显示失败的测试。它不需要任何配置。只需pip安装pytest-sugar,使用pytest运行测试,然后就可以享受到更漂亮更有用的输出了。
2. pytest-cov
Pytest-cov增加了对Pytest的覆盖支持,以显示哪些代码行已经过测试,哪些没有。它还将包括项目测试覆盖率的百分比。
3. pytest-picked
Pytest-picked根据您已经修改但尚未提交给git的代码运行测试。安装库并使用pytest-picked运行您的test-pytest - picked来测试自上次提交以来发生了更改的文件。
4. pytest-instafail
Pytest-instafail修改了Pytest的默认行为,以立即显示失败和错误,而不是等到pytest运行完每个测试。
5. pytest-tldr
一个全新的pytest插件,可以限制你需要的输出。Pytest-tldr (tldr的意思是“太长无法读取”),就像pytest-sugar一样,除了基本安装,不需要任何配置。pytest-tldr tldr的默认输出不是pytest的一个非常冗长的默认输出,但是输出仅限于追溯失败的测试,并且省略了一些令人昏昏欲睡的日志颜色编码。添加-v标志会为喜欢它的人返回更详细的输出。
6. pytest-xdist
Pytest-xdist允许您通过-n标志并行运行多个测试:例如,pytest -n 2可以在两个CPU上运行您的测试。这样可以大大加快测试速度。它还包括- looponfail标志,该标志将自动重新运行失败的测试。
7. pytest-django
Pytest-django为django应用程序和项目增加了Pytest支持。具体来说,pytest-django引入了用pytest fixture测试django项目的功能,无需导入unittest和复制/粘贴其他样板测试代码,运行速度比标准的Django测试套件更快。
8. django-test-plus
Django-test-plus并不特定于pytest,但是现在它支持pytest。它包括您自己的TestCase类,您的测试可以继承该类,并使您能够以较少的击键次数输入频繁的测试用例,例如检查特定的HTTP错误代码。
上面提到的库绝不是扩展pytest用途的唯一选择。有用的pytest插件前景光明。查看Pytest插件兼容性页面,亲自探索一下。你最喜欢哪个?
出发地:https://opensource.com/article/18/6/pytest-plugins
Pytest插件
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。