自由自在的非职业码农
累加上次版本:版本 n 未覆盖行,查询版本 n-1,若存在并已覆盖,判断 last diff 是否存在,不存在则设置该行已覆盖,其它则未覆盖; 存在两次遍历,计算比较耗时;
在行级别合并,还是会有些问题
比如本次覆盖率有这条数据
<line nr="69" mi="3" ci="7" mb="4" cb="2" />
这行是覆盖了的
看你的实现逻辑,这行直接就取本次的数据了是吧?
但是其中有些指令和分支是 missed
按理说还是应该合并上次的该行数据
但是如果想累加上次的行数据
又没法实现
比如上次相同行数据
<line nr="69" mi="7" ci="3" mb="2" cb="4" />
并不能简单的累加,因为你没法知道两次 covered 的数值是不是相同的指令或分支
所以我理解是,只能累加出基于行数据的覆盖率数据(行、方法、类)
基于指令的(指令、分支、圈复杂度)起码从 xml 中是没法准确实现的
不过我们最后看报告,实际看的又是基于代码行的
只不过指令、分支、圈复杂度这几个覆盖率数值是不准确的而已
还真是,之前就看了头部的几十行。。。
多谢哈
但是 xml report 是没有源码行数据的吧
只是方法 a 的各种覆盖率数值是多少
比如版本 1 的方法 a 覆盖了 3 行
版本 2 的方法 a 覆盖了 2 行
你怎么做合并呢
那就只能做到方法级别是否覆盖了吧
没法做到源码代码行级别的展现
我们也在做,最后发现也只能这样了
累加上次版本:版本 n 未覆盖行,查询版本 n-1,若存在并已覆盖,判断 last diff 是否存在,不存在则设置该行已覆盖,其它则未覆盖; 存在两次遍历,计算比较耗时
这块你们是如何实现呢,是解析两个版本的 html report 自己计算?
还是解析 ec 二进制文件?
看起来 JD 的基础建设做得很好,对测试开发很友好了
不错,不过代码与用例的关联貌似没关联到单个用例?好像没有拿到每个用例的执行轨迹
顶米老板
这个帖子是论坛上关于接口测试最有深度的
谢谢!华为手机,改后缀名后直接就能安装了,抓包可用。
自由自在的非职业码农