当前位置: 首页 > 科技观察

Python测试工具-8个很棒的pytest插件

时间:2023-03-13 06:29:24 科技观察

Python测试工具最好的方面之一是其强大的生态系统。这里列出了八个最好的插件。我们是pytest的忠实粉丝,并将其用作工作和开源项目的默认Python测试工具。在本月的Python专栏中,我们分享了为什么我们喜欢pytest以及一些使pytest测试更有趣的插件。什么是测试?正如该工具的网站所说,“pytest框架使编写小型测试变得容易,并且可以扩展以支持应用程序和库的复杂功能测试。”pytest允许您在任何名为test_*.py的文件中定义测试,并将其定义为以test_*开头的函数。然后pytest将在整个项目中查找所有测试,并在控制台中运行pytest时自动运行它们。pytest接受标志和参数,这些标志和参数可以在测试运行器停止时更改,这些包含如何输出结果、运行哪些测试以及输出中包含哪些信息。它还包括一个可以传递到您的测试中的set_trace()函数。它会暂停您的测试并允许您与变量进行交互,否则您将不得不在终端中“摸索”以调试您的项目。pytest最酷的方面之一是其强大的插件生态系统。因为pytest是一个非常受欢迎的测试库,多年来已经创建了许多插件来扩展、定制和增强它的功能。这八个插件是我们的专利。8个很棒的插件1.pytest-sugarpytest-sugar改变了pytest的默认外观,增加了一个进度条,并立即显示失败的测试。它不需要任何配置,只需pipinstallpytest-sugar,使用pytest运行测试,并享受更漂亮、更有用的输出。2.pytest-covpytest-cov在pytest中增加了覆盖率支持,以显示哪些代码行已经过测试,哪些没有。它还将包括项目的测试范围。3.pytest-pickedpytest-picked对你已经修改但还没有提交到git的代码运行测试。安装库并运行pytest--picked以仅测试自上次提交以来已更改的文件。4.pytest-instafailpytest-instafail修改pytest的默认行为,立即显示失败和错误,而不是等到pytest完成所有测试。5.pytest-tldr一个全新的pytest插件,可以将输出限制在你需要的范围内。pytest-tldr(tldr代表“太长,没读”——太长,不想读),像pytest-sugar,除了基本安装外不需要配置。pytest-tldr比pytest的默认输出更简洁,将默认输出限制为失败测试的回溯,并省略了一些烦人的颜色编码。添加-v标志会为喜欢它的人返回更详细的输出。6.pytest-xdistpytest-xdist允许您通过-n标志并行运行多个测试:例如,pytest-n2将在两个CPU上运行您的测试。这可以显着加快您的测试速度。它还包括--looponfail标志,它将自动重新运行失败的测试。7.pytest-djangopytest-django增加对Django应用程序和项目的pytest支持。具体来说,pytest-django引入了使用pytestfixture测试Django项目的能力,同时省略了导入unittest和复制/粘贴其他样板测试代码的需要,并且比标准Django测试套件运行得更快。8、django-test-plusdjango-test-plus并不是专门为pytest开发的,但是现在支持pytest。它包含自己的TestCase类,您的测试可以从该类继承,并使您能够以更少的击键输出频繁的测试用例,例如检查特定的HTTP错误代码。我们上面提到的库绝不是您扩展pytest的唯一选择。有用的pytest插件的未来是广阔的。查看pytest插件兼容性页面自行探索。你最喜欢的插件是什么?