在开发过程中,我们应该养成编写本地单元测试用例的好习惯,甚至做到测试驱动开发。EclEmma是Eclipse的一个插件,是一款测试用例的代码覆盖率统计工具,能明确到哪一行在测试过程中被调用到了。这里不仅仅是单元测试,部署到测试环境的集成测试也可以统计。下面来看下怎么使用EclEmma。
首先说下安装。作为最方便莫过于直接在Eclipse中点击菜单栏的Help -> Eclipse Marketplace -> 在Find输入框中敲"EclEmma" -> 点击放大镜,直接找到"EclEmma Java Code Coverage" -> 点击Install按钮进行插件下载安装。
安装好后在代码右击鼠标,应该会出现一栏"Coverage As"用于执行Junit、配置覆盖率统计项。现在假设我们已经用Junit写好了一个单元测试类,右击该类 -> 选择Coverage As -> 点击JUnit Test,执行该Junit用例,跑完后会出现代码覆盖率统计窗口Coverage,里面会显示各项指标,包括覆盖率百分比,已覆盖指令数,未覆盖指令书,总指令数。点开Element项,可以跟踪到具体每一个类的覆盖情况,被覆盖代码行会呈现绿色,未覆盖的呈现红色。可以把单元测试代码覆盖率导出,右击Coverage窗口空白处 -> 选择Export Session -> 选择导出文件格式和路径 -> 点击Finish。
如果想在环境上跑后统计覆盖率,需要借助jacoco,在对应的tomcat服务器上