...

Pytest权威教程17-安装和使用插件

返回: Pytest权威教程

安装和使用插件

本节讨论如何安装和使用第三方插件。有关编写自己的插件的信息,请参阅编写插件。

安装第三方插件可以通过以下方式轻松完成pip

pip install pytest-NAME
pip uninstall pytest-NAME

如果安装了插件,则pytest自动查找并集成它,无需激活它。

这是一些常用插件列表:

  • pytest-django:为django应用程序编写测试。
  • pytest-twisted:为twisted应用程序编写测试,启动反应堆并处理测试函数的延迟。
  • pytest-cov:覆盖率报告,与分布式测试兼容
  • pytest-xdist:将测试分发到CPU和远程主机,以盒装模式运行,允许分段故障,在looponfailing模式下运行,自动重新运行文件更改的失败测试。
  • pytest-instafail:在测试运行期间报告失败。
  • pytest-bdd使用行为驱动的测试编写测试。
  • pytest-timeout:根据函数标记或全局定义进行超时测试。
  • pytest-pep8:--pep8启用PEP8合规性检查的选项。
  • pytest-flakes:用pyflakes检查源代码。
  • oejskit:在实时浏览器中运行javascript unittests的插件。

要查看具有针对不同pytest和Python版本的最新测试状态的所有插件的完整列表,请访问plugincompat

你还可以通过pytest-pypi.org搜索发现更多插件。

在测试模块或conftest文件中要求/加载插件

你可以在测试模块或conftest文件中要求插件,如下所示:

pytest_plugins = ("myapp.testsupport.myplugin",)

加载测试模块或conftest插件时,也会加载指定的插件。

注意: pytest_plugins不建议使用非根conftest.py文件中使用变量的插件。请参阅“编写插件”部分中的完整说明。

注意: 该名称pytest_plugins是保留的,不应用作自定义插件模块的名称。

找出哪些插件是可用的

如果要查找环境中哪些插件处于可用状态,可以键入:

pytest --trace-config

并将获得一个扩展的测试标题,显示激活的插件及其名称。它还会在加载时打印本地插件aka[conftest.py文件。

按名称取消/取消注册插件

你可以阻止插件加载或取消注册:

pytest -p no:NAME

这意味着任何后续尝试激活/加载命名插件都不起作用。

如果要无条件禁用项目插件,可以将此选项添加到pytest.ini文件中:

[pytest]
addopts = -p no:NAME

或者,仅在某些环境中禁用它(例如在CI服务器中),可以将PYTEST_ADDOPTS环境变量设置为。-p no:name
请参阅查找有关如何获取插件名称的活动插件。

posted @ 2019-09-06 20:09  韩志超  阅读(1351)  评论(0编辑  收藏  举报