JUnit 单元测试
概述
JUnit 是用于编写和运行可重复的自动化测试的开源测试框架,这样可以保证我们的代码按预期工作。JUnit 可广泛用于工业和作为支架(从命令行)或IDE(如 IDEA)内单独的 Java 程序。
- 断言测试预期结果。
- 测试功能共享通用的测试数据。
- 测试套件轻松地组织和运行测试。
- 图形和文本测试运行。
特点
- JUnit 是用于编写和运行测试的开源框架。
- 提供了注释,以确定测试方法。
- 提供断言测试预期结果。
- 提供了测试运行的运行测试。
- JUnit 测试让您可以更快地编写代码,提高质量
- JUnit 是优雅简洁。它是不那么复杂以及不需要花费太多的时间。
- JUnit 测试可以自动运行,检查自己的结果,并提供即时反馈。没有必要通过测试结果报告来手动梳理。
- JUnit 测试可以组织成测试套件包含测试案例,甚至其他测试套件。
- Junit 显示测试进度的,如果测试是没有问题条形是绿色的,测试失败则会变成红色。
使用Junit
引入依赖
1
2
3
4
5
6
7
8
9
10
11
12
13
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.17.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
创建测试类
在测试包下 src/main/test 创建一个名为 MyTest 的测试类,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class MyTest {
/**
* 执行测试方法前执行
*/
@Before
public void before() {
System.out.println("执行 before");
}
/**
* 执行测试方法后执行
*/
@After
public void after() {
System.out.println("执行 after");
}
@Test
public void testSayHi() {
System.out.println("Hi");
}
@Test
public void testSayHello() {
System.out.println("Hello");
}
}
JUnit 注解
-
@Test
一个测试用例 -
@Before
该方法必须在类中的每个测试之前执行 -
@BeforeClass
一般在静态方法上必须执行一次并在类的所有测试之前。一般是公共配置方法(如连接到数据库)。 -
@After
测试方法运行后执行 -
@AfterClass
与@BeforeClass
类似,在测试用例类后执行。(如从数据库如断开连接)。 -
@Ignore
注解为 @Ignore 的方法将不被执行。