最初的目的是想确定,能不能从 exec 文件中收集到,手工测试运行了哪些方法
在用 jacoco cli 命令行打开 exec 文件以后,生成的 exec 文件,看起来只到统计到类这一层的覆盖情况,那解析生成的报告是怎么确定修改了哪一行的?
希望大佬能帮忙解惑,多谢!
另外,有没有什么直接的方法能获取到哪些方法被测试覆盖了
exec 文件中还有保存类对应的插桩数据,根据这个数据和 class 文件可以解析出类的哪些行和方法覆盖到了
抱歉,截图的文字打错了,我已经修改了。 实际发现 exec 文件只有 class 级别的覆盖信息,所以我比较纳闷他实际是怎么解析出来的。 因为连方法名和行数都没有体现出来,难道是这个信息存在其他地方?
你这应该是用 cli 的 execinfo 命令吧,这命令只输出了覆盖信息,并不代表 exec 文件里只有这些信息。。 至于覆盖了哪些方法。。report 中都有列出来。。
嗯,有道理,多谢
exec 里只是存放所有的状态为 true 的探针吧,在解析报告的时候会根据 class 文件和 exec 存放的探针数据在解析出详细的覆盖率数据
生成 csv 或者 xml 类型的覆盖率报告在自己解析一遍?
赞同,生成 XML 自己解析可以得到,我们最近就打算这么做
使用 report 指定生成的报告类型成 xml,然后就可以看到具体的覆盖信息了。exec 只包含一些插桩文件,不具备参考性。xml 的信息才是比较全的。