Pytest官方教程-18-安装和使用插件

目录:

  1. 安装及入门
  2. 使用和调用方法
  3. 原有TestSuite使用方法
  4. 断言的编写和报告
  5. Pytest fixtures:清晰 模块化 易扩展
  6. 使用Marks标记测试用例
  7. Monkeypatching/对模块和环境进行Mock
  8. 使用tmp目录和文件
  9. 捕获stdout及stderr输出
  10. 捕获警告信息
  11. 模块及测试文件中集成doctest测试
  12. skip及xfail: 处理不能成功的测试用例
  13. Fixture方法及测试用例的参数化
  14. 缓存: 使用跨执行状态
  15. unittest.TestCase支持
  16. 运行Nose用例
  17. 经典xUnit风格的setup/teardown
  18. 安装和使用插件
  19. 插件编写
  20. 编写钩子(hook)方法
  21. 运行日志
  22. API参考
    1. 方法(Functions)
    2. 标记(Marks)
    3. 钩子(Hooks)
    4. 装置(Fixtures)
    5. 对象(Objects)
    6. 特殊变量(Special Variables)
    7. 环境变量(Environment Variables)
    8. 配置选项(Configuration Options)
  23. 优质集成实践
  24. 片状测试
  25. Pytest导入机制及sys.path/PYTHONPATH
  26. 配置选项
  27. 示例及自定义技巧
  28. Bash自动补全设置

安装和使用插件

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

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

pip install pytest-NAME
pip uninstall pytest-NAME

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

这是一些流行插件的小注释列表:

  • pytest-django:使用pytest集成为django应用程序编写测试。
  • pytest-twisted:为扭曲的应用程序编写测试,启动反应堆并处理测试函数的延迟。
  • pytest-cov:覆盖率报告,与分布式测试兼容
  • pytest-xdist:将测试分发到CPU和远程主机,以盒装模式运行,允许分段故障,在looponfailing模式下运行,自动重新运行文件更改的失败测试。
  • pytest-instafail:在测试运行期间报告失败。
  • pytest-bdd和 pytest-konira 使用行为驱动的测试编写测试。
  • 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

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

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

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

pytest -p no:NAME

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

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

[pytest]
addopts = -p no:NAME

或者,仅在某些环境中禁用它(例如在CI服务器中),可以将PYTEST_ADDOPTS环境变量设置为 。-p no:name

请参阅查找有关如何获取插件名称的活动插件。

你可能感兴趣的:(Pytest官方教程-18-安装和使用插件)