pytest--钩子函数(hook function)

  • pytest钩子函数

    在 Pytest 中,我们可以使用钩子函数(hook function)来在测试执行完成后执行一些特定的操作,例如生成报告、发送邮件等。 Pytest 中常用的钩子函数:

    • pytest_addoption(parser): 当 pytest 命令行解析器被创建时,pytest 将调用这个函数,它将接受一个 parser 参数,可以通过它向解析器中添加自定义的命令行选项。

    • pytest_configure(config): 当 pytest 执行前首次读取配置文件时调用,通常在这里可以对配置进行修改。

    • pytest_unconfigure(config): 在 pytest 执行完成并退出时调用。

    • pytest_generate_tests(metafunc): 当pytest生成测试时,pytest将调用此函数。这是一个非常有用的函数,它可以帮助你动态生成测试。

    • pytest_collection_modifyitems(session, config, items): 这个钩子函数可以修改 pytest 的测试收集结果。你可以通过它添加、删除或者修改 pytest 收集的测试。

    • pytest_runtest_setup(item): 在 pytest 执行测试用例的 setup 阶段时调用。可以在这里添加自定义的 setup 逻辑。

    • pytest_runtest_call(item): 当测试用例被执行时,pytest 将调用此函数。在这个钩子函数中可以添加自定义的逻辑

    • pytest_runtest_teardown(item): 在 pytest 执行测试用例的 teardown 阶段时调用。可以在这里添加自定义的 teardown 逻辑。

    • pytest_runtest_makereport(item, call): 它在测试用例执行完毕并生成测试报告时触发,可以在此处对测试结果进行处理,通过实现该钩子函数来对测试报告进行定制化的处理,例如记录测试用例的执行结果、截图等。

    • pytest_sessionstart(session): 在测试套件开始执行前调用(也就是pytest进程启动后,会调用此钩子函数),可以在此处完成一些初始化操作。

    • pytest_sessionfinish(session, exitstatus): 在测试套件执行结束后调用(也就是pytest进程结束前,会调用此钩子函数,),可以在此钩子函数中执行清理操作或收集报告等。。

    • pytest_terminal_summary(terminalreporter): 在 pytest 执行完成后调用,它将整个测试结果的总结输出到终端上。

    • pytest_collection_finish(session): 当 pytest 集合测试结束时调用,可以在此处对测试用例进行筛选。

    • pytest_collection_modifyitems(session, config, items): 当测试用例收集完成后,会调用此钩子函数,可以通过此钩子函数修改、重排序测试用例。

    这些钩子函数可以通过编写对应的函数并将其放在 conftest.py 文件中来实现。

     

     

posted @ 2023-08-14 10:43  没事别找我  阅读(192)  评论(0编辑  收藏  举报