下面是PyTest生成的HTML报告,其中测试用例名称为“ test_demo.py::test_demo_framework[0]” 代替此方法的名称,我想显示一些实际的测试名称,例如“ 验证用户名和密码”,该名称理想地描述了执行了哪种测试,并且可以从方法名称中更好地了解报表阅读器/ number,很难确定此测试中测试了什么。
我想重命名黄色的Testcases名称。
答案 0 :(得分:2)
在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)