自由自在的非职业码农

  • 累加上次版本:版本 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 的基础建设做得很好,对测试开发很友好了

  • 不错,不过代码与用例的关联貌似没关联到单个用例?好像没有拿到每个用例的执行轨迹

  • 顶米老板

  • 这个帖子是论坛上关于接口测试最有深度的

  • 谢谢!华为手机,改后缀名后直接就能安装了,抓包可用。

自由自在的非职业码农