junit简介
JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括以下特性:
1、用于测试期望结果的断言(Assertion)
2、用于共享共同测试数据的测试工具
3、用于方便的组织和运行测试的测试套件
4、图形和文本的测试运行器
junit在项目中的使用
IDE环境:intellij + maven
pom.xml文件中添加junit依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
单元测试文件组织如下图:
例如,文件如下:
public class Calculate {
public int add(int a, int b) {
return a + b;
}
public int minus(int a, int b) {
return a - b;
}
}
单元测试如下:
public class TestCalculate {
@Test
public void testAdd() {
Calculate calculate = new Calculate();
int add = calculate.add(1, 3);
Assert.assertEquals("add error.", add, 4);
}
@Test
public void testMinus() {
Calculate calculate = new Calculate();
int minus = calculate.minus(4, 1);
Assert.assertEquals("minus error.", minus, 3);
}
}
执行单元测试
IDE中右键可执行单元测试
或者使用maven命令:mvn test也可以执行单元测试
单元测试覆盖率
可以通过cobertura-maven-plugin插件来进行单元测试覆盖率统计
pom.xml文件添加如下:
<dependencies>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
</plugin>
</plugins>
</reporting>
</dependencies>
cobertura相关命令如下:
mvn cobertura:help 查看cobertura插件的帮助
mvn cobertura:clean 清空cobertura插件运行结果
mvn cobertura:check 运行cobertura的检查任务
mvn cobertura:cobertura 运行cobertura的检查任务并生成报表,报表生成在target/site/cobertura目录下
cobertura:dump-datafile Cobertura Datafile Dump Mojo
mvn cobertura:instrument Instrument the compiled classes