领取资料,咨询答疑,请➕wei: June__Go
上一小节我们学习了pytest_report_collectionfinish钩子函数的使用方法,本小节我们讲解一下pytest_report_testitemFinished钩子函数的使用方法。
pytest_report_testitemFinished
钩子函数在每个测试项(测试函数或测试方法)执行完成后被调用。这个钩子可以用来获取测试结果、执行自定义的报告逻辑,或者在测试结束后进行一些清理工作。以下是一个具体的代码示例,展示了如何在 conftest.py
文件中使用这个钩子函数:
# conftest.py
import pytest
# 全局变量用于存储测试结果
test_results = {}
def pytest_report_testitemFinished(item, report):
# 获取测试项的名称和结果
test_name = item.name
test_result = report.outcome
# 将测试结果存储在全局字典中
test_results[test_name] = test_result
# 根据测试结果执行不同的操作
if test_result == "passed":
print(f"{test_name} passed.")
elif test_result == "failed":
print(f"{test_name} failed.")
print(f"Failure details: {report.longrepr}")
e