你真的会写 单元测试吗?TDD初体验(3)

发表于:2019-11-18来源:cnblogs作者:李佳霖i点击数: 标签:
/limits /rule /rules /configuration executions execution idpre-test/id goals goalprepare-agent/goal /goals /execution execution idpost-test/id phasetest/phase goals goalreport/goal /goals /execution /

                  </limits>
              </rule>
              </rules>
         </configuration>
         <executions>
             <execution>
                <id>pre-test</id>
                  <goals>
                       <goal>prepare-agent</goal>
                   </goals>
             </execution>
             <execution>
                   <id>post-test</id>
                   <phase>test</phase>
                   <goals>
                       <goal>report</goal>
                   </goals>
             </execution>
       </executions>
  </plugin>



  这里值得注意的是<include>com/**/*</include>指的是class文件的位置。做完这些以后,我们就可以生成报表了。因为我们是用maven插件的方式进行配置的,所以如果我们使用idea进行开发的时候,就可以看到右侧maven一栏中出现了jacoco插件

最常用的就是这两个,一个是检查配置是否正确,第二个是用来将exec文件,生成index.html用来进行观察覆盖率。
我们先执行maven中的test指令,这时,我们在target中就可以看到一个jacoco.exec文件。

有了这个jacoco.exec文件,就可以使用jacoco的report方法,来生成文件。

右键index.html文件,选择Reveal in Finder(Mac),windows也是类似,打开文件磁盘的位置。

可以看到,由于这个项目之前没有几个单测,所以覆盖率特别低。点开之后,就可以看到具体的代码,非常的方便。

最后今天配置jacoco的时候,踩了2个坑:
1 用idea进行开发的同学。使用jacoco的时候,不要勾选这个按钮,它会跳过你测试阶段的代码执行,进而不会生成jacoco.exec文件。


2 保证自己测试代码没有错误(尤其是项目中,由于代码更新,测试用例没有更新,导致的测试不可用)
这里的现象是虽然可以生成jacoco.exec 文件,而且可以report成文档,但是打开之后发现,代码覆盖率都是0。
最后:
希望大家都可以保持写测试用例的好习惯,谢谢

原文转自:https://www.cnblogs.com/nedulee/p/11863605.html