如何重命名 PyTest 生成的 html 报告的测试用例
How to rename the test cases of html report generated by PyTest
下面是 PyTest 生成的 HTML 报告,测试用例名称为 "test_demo.py::test_demo_framework[0]"
我想显示一些实际的测试名称,而不是此方法的名称,例如“验证用户名和密码”,它理想地描述了执行的测试类型并更好地理解报告reader,显然从方法 name/number 来看,很难确定测试的内容是这个测试的一部分。
我想重命名黄色突出显示的测试用例的名称。
在 conftest 中使用这个 hookwrapper:
@pytest.mark.hookwrapper
def pytest_runtest_makereport(item, call):
outcome = yield
report = outcome.get_result()
test_fn = item.obj
docstring = getattr(test_fn, '__doc__')
if docstring:
report.nodeid = docstring
并且对于您 运行 的每个测试,您都会有一个特定的名称。你也可以让它动态(使用参数) - 例如:
def test_username(my_username):
test_username.__doc__ = "Verify username and password for: " + str(my_username)
下面是 PyTest 生成的 HTML 报告,测试用例名称为 "test_demo.py::test_demo_framework[0]" 我想显示一些实际的测试名称,而不是此方法的名称,例如“验证用户名和密码”,它理想地描述了执行的测试类型并更好地理解报告reader,显然从方法 name/number 来看,很难确定测试的内容是这个测试的一部分。
我想重命名黄色突出显示的测试用例的名称。
在 conftest 中使用这个 hookwrapper:
@pytest.mark.hookwrapper
def pytest_runtest_makereport(item, call):
outcome = yield
report = outcome.get_result()
test_fn = item.obj
docstring = getattr(test_fn, '__doc__')
if docstring:
report.nodeid = docstring
并且对于您 运行 的每个测试,您都会有一个特定的名称。你也可以让它动态(使用参数) - 例如:
def test_username(my_username):
test_username.__doc__ = "Verify username and password for: " + str(my_username)