文章目录
- 实现步骤
- 一、创建一个`maven` 项目
- 二、引入`Jacoco` 的依赖
- 三、增加`Jacoco maven plugin`相关配置
- 四、编辑一段代码用于测试
- 五、编写测试方法
- 六、执行单元测试并计算代码覆盖率
- 七、JaCoCo报告解读
- 八、完整实现代码
实现步骤
一、创建一个maven
项目
二、引入Jacoco
的依赖
https://mvnrepository.com/artifact/org.jacoco/jacoco-maven-plugin
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
</dependency>
三、增加Jacoco maven plugin
相关配置
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<configuration>
<destFile>target/test-coverage/jacoco-unit.exec</destFile>
<dataFile>target/test-coverage/jacoco-unit.exec</dataFile>
</configuration>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>jacoco-site</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
四、编辑一段代码用于测试
public class JunitDemo {
public int sumExample(int a, int b) {
return a + b;
}
public int modExample(int a, int b) {
return a % b;
}
}
五、编写测试方法
- 注意:
- 测试方法的方法名:被测试方法的方法名前,加
test
sumExample
对应的测试方法名为testSumExample
public class JunitDemoTest {
private static JunitDemo junitDemo = new JunitDemo();
@Test
public void testSumExample() {
int result = junitDemo.sumExample(1, 2);
Assertions.assertEquals(3, result);
}
@Test
public void testModExample() {
int result = junitDemo.modExample(2, 2);
Assertions.assertEquals(0, result);
}
}
六、执行单元测试并计算代码覆盖率
mvn clean test
- 执行成功之后,可在
target
目录 下找到覆盖率报告 - 路径是:
target/site/ index. xml
- 在浏览器中打开即可
七、JaCoCo报告解读
- 其中红色代表没有被执行到
- 绿色代表被充分测试了
- 黄色代表该行的代码的逻辑只有部分被测试到了
八、完整实现代码
junit-demo
的 dev-jacoco
分支https://gitee.com/aoweibrave/junit-demo/tree/dev-jacoco
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)