这样可以得到指定的报告文件 c2.xml了。

  3. 可以用ReportGenerator工具生成HTML的报告便于查看。

  由于这里有源码,所以HTML报告里面直接显示了代码行级别的覆盖率。红色的部分是没有执行到的,绿色的是被执行到的。加起来是可覆盖(coverable)行。这里的概念都是比较通用的,和其他语言的覆盖率也是一样的。

  方法二小结:

  1. 这个方法没有显示的插桩(instrument)的动作,我的理解是在将被测程序启动的时候做了一些事情。试过多个文件包含exe和dll都是可以的。

  下面是一个外面找到的实际的大一点的子项目代码的例子。

  2. 可以直接看到line级别的覆盖率数据,有源码的话可以直接映射到源码,无源码是到文件级别的汇总数据。

  3. 整个使用过程还是非常方便的,无论是上面的demo console小程序,还是这个有GUI的比较大的实际client。被启动后可以像单独运行时一样使用,无任何感知,所以对测试手段也没有要求,手工或者自己的自动化程序都可以。

  4. 报告比较方便,特别是用ReportGenerator后。

  还有一些待研究的:

  1. 如果团队有多人一起执行测试,如何合并多人的覆盖率数据。

  2. 如果是对于server端的程序,如何来处理。应该是可以做到,但是需要去验证。

  总的来说,无论那种方法提供的数据,对于我们的测试都有很好的参考价值,是一个重要的辅助手段。