接口测试 需要简单修改 python 第三方库源码,后期怎样进行升级维护

stone9159 · 2020年11月02日 · 最后由 stone9159 回复于 2020年11月17日 · 61 次阅读

使用 unittest+excel+ddt+HTMLTestRunner 做接口测试并生成报告,但是因为报告生成的用例名字是测试函数名 + 数字的编号,所以想改成测试函数 + 用例测试点的命名方式,网上找了下,都是修改 ddt 源码,修改内容也不多,但是如果修改了,后期 ddt 需要升级,怎么保证源码也是被修改了的,目前想到三个方法:
1)替换 ddt.py 文件
在测试框架里准备一份某个版本 ddt.py 的文件,并修改,然后每次运行的时候先替换,但是 ddt.py 的代码本身发生变化,替换后轻则还是老版本,重则直接不兼容报错,
2)直接替换整个函数的内容
替换函数名这个还没有实现,但是存在和替换文件一样的问题,
3)在对应函数中注入修改的代码,但是怎么控制注入代码的位置有不好控制
不知道大家有没有什么好的建议

最佳回复

把这个 package 拷贝到你的工程下面再修改不就好了么

共收到 7 条回复 时间 点赞

在对应函数中注入修改的代码,但是怎么控制注入代码的位置有不好控制 ----这个最靠谱

把这个 package 拷贝到你的工程下面再修改不就好了么

没用过 ddt 这套,但我觉的,可不可以尝试下继承后覆写具体方法,在覆写时和新版对比,如果差异较大,给出提示,告知开发人员;如果没有差异,直接覆写。

是不是可以不做任何改动,用自己新的 py 在生成结束之后再替换掉??这样只要它的格式不变,代码版本改变对你来说无需修改代码?同时也无需修改它的代码?
前提是它的报告互相索引的地方不多。

高手 回复

对,那天也看到这样的方法,觉得比较可靠,目前还没有尝试

“测试方法名 + 数字编号”,ddt 生成报告使用这样的命名,这很标准也很规范,测试功能点已经通过测试方法名体现了。
不清楚你为什么有这样的需求,能否详说下。

Thirty-Thirty 回复

为了一眼看出是哪一个测试用例没用通过
测试方法名称:

修改前:

修改后:

stone9159 关闭了讨论 11月17日 13:48
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册