python-pytest钩子函数作用介绍
pytest_generate_tests:这个钩子函数在每次运行测试用例之前被调用
pytest_collection_modifyitems:这个钩子函数在收集测试用例之后、执行测试之前被调用
pytest_runtest_protocol: 这个钩子函数在每个测试用例开始和结束时被调用、钩子函数分为三个阶段:setup、call和teardown、yield语句允许我们在测试用例执行期间暂停
pytest_runtest_setup:这个钩子函数在每次运行测试用例之前被调用
pytest_runtest_call:这个钩子函数在每次运行测试用例之前被调用
pytest_runtest_teardown:这个钩子函数在每次运行测试用例之后被调用
def pytest_generate_tests(metafunc): print("\n[pytest_generate_tests]这个钩子函数在每次运行测试用例之前被调用",metafunc.fixturenames) def pytest_collection_modifyitems(items): """ 修改用例名称中文乱码 :param items: :return: """ #对收集到的测试用例进行排序(照节点ID的顺序执行) #items.sort(key=lambda x: x.nodeid) for item in items: item.name = item.name.encode('utf-8').decode('unicode_escape') item._nodeid = item.nodeid.encode('utf-8').decode('unicode_escape') print("[pytest_collection_modifyitems]这个钩子函数在收集测试用例之后", items) def pytest_runtest_protocol(item, nextitem): print("\n[pytest_generate_protocol]这个钩子函数在每个测试用例开始和结束时被调用",item.name) def pytest_runtest_setup(item): print("[pytest_runtest_setup]这个钩子函数在每次运行测试用例之前被调用",item.name)