pytest钩子hook使用2

pytest是一种用于编写单元测试的Python库。它允许程序员编写测试用例来验证代码的正确性,并提供了一系列的勾子(hooks)来在测试的不同阶段执行一些额外的操作。

使用pytest的勾子,可以在测试运行过程中插入自定义代码。下面是一些常见的pytest勾子的使用方法:

  1. pytest_configure:在pytest运行时首次调用。可以在这里注册自定义的fixture、导入测试数据等。

```python

def pytest_configure(config):

注册自定义的fixture

config.addinivalue_line("pytest_plugins", "my_fixture")

```

  1. pytest_collection_modifyitems:在测试收集阶段调用,可以用来修改测试集合。

```python

def pytest_collection_modifyitems(config, items):

for item in items:

修改测试用例的名称

item.name = item.name.replace("test_", "check_")

```

  1. pytest_runtest_setup:在执行每个测试用例的设置阶段调用。

```python

def pytest_runtest_setup(item):

在每个测试用例执行之前执行的操作

pass

```

  1. pytest_runtest_teardown:在执行每个测试用例的清理阶段调用。

```python

def pytest_runtest_teardown(item, nextitem):

在每个测试用例执行之后执行的操作

pass

```

  1. pytest_runtest_logstart:在每个测试用例运行前的日志开始时调用。

```python

def pytest_runtest_logstart(nodeid, location):

在每个测试用例运行前记录日志

pass

```

以上只是一些常见的pytest勾子的使用方法,还有其他更多的勾子可以用来满足不同的需求。通过使用这些勾子,可以更好地控制和定制pytest的行为。

相关推荐
nvd117 小时前
深入分析:Pytest异步测试中的数据库会话事件循环问题
数据库·pytest
程序员雷叔14 小时前
在postman设置请求里带动态token,看看这两种方法!
selenium·测试工具·单元测试·测试用例·pytest·lua·postman
花酒锄作田1 天前
[python]Flask - Tracking ID的设计
python·flask·pytest
测试秃头怪1 天前
Python测试框架Pytest的参数化
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
未定义.2212 天前
第7篇:跨端拓展!Playwright+Appium实现Web+移动端全覆盖
python·ui·appium·自动化·jenkins·pytest
未定义.2213 天前
第5篇:进阶优化:数据驱动+日志体系+失败重试实战
python·ui·自动化·jenkins·集成测试·pytest
未定义.2213 天前
第4篇:企业级框架搭建,Pytest+PO模式从0到1实战
python·ui·自动化·jenkins·集成测试·pytest
文人sec3 天前
pytest2-Allure自动化测试报告
python·功能测试·自动化·pytest
未定义.2214 天前
第3篇:UI自动化核心操作:输入、点击、弹窗、下拉框全场景实战
运维·python·ui·自动化·jenkins·集成测试·pytest
未定义.2215 天前
第1篇:0基础入门!Python+Selenium环境搭建与第一个自动化脚本
python·功能测试·selenium·自动化·jenkins·pytest