学习Cobertura的起因是前天晚上媳妇儿(终于有出场机会了)突然问我有没有用过一些可以统计单元测试覆盖率的工具,答曰:木有...感觉比较丢人,于是昨天晚上研究了一把,今天顺便share一下。
因为之前没有用过这方面的工具,所以只能Google一下了,发现有很多这方面的工具,看着比较顺眼的有JCoverage, EMMA, Cobertura等等,因为JCoverage收费了,所以最后挑了一个自己感觉生成的report比较好看的学习了一把:Cobertura。 (如果有更好的工具,还望不吝赐教)
刚看到Cobertura的时候,比较纠结,因为不认识这个词儿,也查不到是什么意思,据说是西班牙语的“覆盖率”之类的意思,我也无从考究了,反正现在我是老写错,囧RZ...
以上都是闲篇儿...
--- James Gosling mused: "I don't think anybody tests enough of anything."
做单元测试是developer都要接触的事情,工具也基本上都是选择JUnit或者TestNG,但是无论是JUnit还是TestNG都只能得出一个测试用例相关的报表
从这个报表中我们能得信息是,测试用例的执行情况,成功率,失败率,哪个失败了等等。通过这份报表我们并不能得悉我们是否把所有的功能代码都测试到了,那么这时候我们就需要引入单元测试覆盖率的概念了。
单元测试覆盖率通俗的讲就是多少行代码被测试用例运行到了,多少个block被执行了,多少个包被执行了等