pytest那些事01_执行结果内容改造

Posted sodaair

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest那些事01_执行结果内容改造相关的知识,希望对你有一定的参考价值。

前言

改造pytest命令行执行测试用例时,返回的内容。

添加用例描述

在编写测试用例时,若将测试目的写为测试用例名称,可能会导致用例名称过长,但是使用简短的编号表示用例名称时,从执行结果中又无法知晓具体的测试逻辑,基于此,想要改造测试结果的返回内容,携带上用例描述信息。
在conftest.py中添加代码如下:

@pytest.mark.hookwrapper
def pytest_runtest_makereport(item, call):
    outcome = yield
    report = outcome.get_result()
    report.description = str(item.function.__doc__)
    if not report.description:
        report.nodeid = report.nodeid.encode("utf-8").decode("unicode_escape")
    else:
        report.nodeid = "Description of this test is : " + report.description

效果如下:

test_doc.py::TestDoc::test_01
Description of this test is : this is the first test PASSED                                                                      [ 33%]
test_doc.py::TestDoc::test_02
Description of this test is : this is the second test PASSED                                                                     [ 66%]
test_doc.py::TestDoc::test_03
Description of this test is : None PASSED                                                                                        [100%]

如果有更好的解决方法,欢迎留言


以上是关于pytest那些事01_执行结果内容改造的主要内容,如果未能解决你的问题,请参考以下文章

pytest文档33-Hooks函数获取用例执行结果(pytest_runtest_makereport)

pytest文档19-doctest测试框架

pytest_01_安装和入门

代码示例: pytest的简单用法

pytest接口自动化测试框架 | pytest获取执行数据pytest禁用插件

6. Jenkins使用Node调度各种测试用例