Java 项目需要产生单元测试及代码覆盖率的话一直都是走的 JUnit 单元测试,JaCoCo 基于测试产生测试覆盖率,然后送到 SonarQube 去展示这条路子。当然 SonarQube 还可以帮我们进行代码的静态分析。但对其中的具体使用及过程知晓的并不深,基本就是在 pom.xml 中依葫芦画瓢。本文稍加深入的理解每一步的功效与配置,以 Maven 管理的 Java 项目为例,JUnit 采用是众多旧项目仍然无法摆脱的 JUnit 4。
示例项目名称为 JaCoCoSonar, 创建一个 Calc 类,其中有 int add(int op1, int op2) 方法,为其写一个单元测试 CalcTest
1 2 3 4 5 6 7 |
public class CalcTest { @Test public void testAdd() { Assert.assertEquals(3, Calc.add(1, 2)); } } |
单元测试实际是被 maven-surefire-plugin 插件执行的
现在开始第一步,执行 mvn test
看会发生什么,执行过程中控制台显示 阅读全文 >>