使用DDT+BeautifulReport进行自动化测试,生成的测试报告中用例描述是这样的:
其中不同case的描述都一样,无法区分
可以修改ddt.py中部分代码进行修改:
def wrapper(cls): # 原文件332行
for name, func in list(cls.__dict__.items()):
if hasattr(func, DATA_ATTR):
for i, v in enumerate(getattr(func, DATA_ATTR)):
test_name = mk_test_name(
name,
getattr(v, "__name__", v),
i,
fmt_test_name
)
# 源代码,注释掉
# test_data_docstring = _get_test_data_docstring(func, v)
# 以下为新增部分
# 指定测试报告中,用例描述的值为测试数据中description字段,没有则使用默认值
try:
test_data_docstring = v['description']