上一篇文章我们展示了如何使用HtmlTestRunner实现unittest框架下测试保报告,但遗留了一个用例标题过长的问题,下来我们总结下实现的原理和方式。
先看一下DDT下的接口测试的用例显示:
我们看到在这个名称是由test_get_commonapi方法名,01测试序号以及ddt解包的参数列表加”_“ 间隔组成。例如:
test_get_commonapi_01___http___127_0_0_1_api_login______username___admin___password___123456________content_type____application_json______post____json____success1______msg____loginvar__
那我们来看一下这个title是如何成为这样的。
看了ddt源码之后,发现有个函数是用来生成测试用例名字的。这个函数叫:mk_test_name
它接主要接受两个参数:name和value
然后生成测试用例名称的变量叫做test_name
上面的源码我们可以看到,ddt内部函数是用name,index,value来组成用例名称的,进一步我们调试看一下:
源码通过正则组成以_连接的字符序列。
所以我们需要改这里就可以了,将你所需要的标题或者某一个列的字段显示即可,这里比如我只要显示url为用例名称:
我加一段字符截取,取url即可,效果如下:
看是不是省了很多空间,这样就可以改变ddt下的用例名称显示,当然也有其他操作方式,原始的value可能是list或者dict,所以依然可以使用数据解析的方式获得想要的字段内容作为标题。
公主耗:shenjitest回复666,领取最新一线大厂面试资料,面试题。以及整理最前沿的测试技术人员发展路线图和技能路线。
关注公主耗获取更多干货