一、SpringBoot Test介绍
Spring Test与JUnit等其他测试框架结合起来,提供了便捷高效的测试手段。而Spring Boot Test 是在Spring Test之上的再次封装,增加了切片测试,增强了mock能力。
整体上,Spring Boot Test支持的测试种类,大致可以分为如下三类:
- 单元测试:一般面向方法,编写一般业务代码时。涉及到的注解有@Test。
- 切片测试:一般面向难于测试的边界功能,介于单元测试和功能测试之间。涉及到的注解有@RunWith @WebMvcTest等。
- 功能测试:一般面向某个完整的业务功能,同时也可以使用切面测试中的mock能力,推荐使用。涉及到的注解有@RunWith @SpringBootTest等。
功能测试过程中的几个关键要素及支撑方式如下:
- 测试运行环境:通过@RunWith 和 @SpringBootTest启动spring容器。
- mock能力:Mockito提供了强大mock功能。
- 断言能力:AssertJ、Hamcrest、JsonPath提供了强大的断言能力。
二、测试示例
2.1、单元测试
import org.junit.Test;
public class JavaTest {
@Test
public void test() {
System.out.println(123);
}