SpringBoot 从 2.4.X 开始默认使用 JUnit5 做单元测试
导入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
注解说明
注解使用位置说明@SpringBootTest标注类启用
SpringBoot
作为测试核心(可以使用
Spring
的功能)@Test标注方法表示要测试的方法@DisplayName标注类为此测试类命名@BeforeEach标注方法在每个单元测试之前执行@AfterEach标注方法在每个单元测试之后执行@BeforeAll标注方法在所有单元测试之前执行(标注静态方法)@AfterAll标注方法在所有单元测试之后执行(标注静态方法)@Disabled标注类或方法禁用此类或方法@Timeout标注方法设置此方法执行超时时间@RepeatedTest标注方法重复执行次数@ParameterizedTest标注方法参数化测试@ValueSource标注方法参数化测试 提供一个包含值的入参@NullSource标注方法参数化测试 提供一个
null
的入参@EnumSource标注方法参数化测试 提供一个枚举入参@CsvFileSource标注方法参数化测试 提供一个
csv
文件入参@MethodSource标注方法参数化测试 提供一个方法的返回值入参(方法返回值必须为
Stream<T>
)@Tag标注类或方法测试类别 需搭配 maven 插件使用@ExtendWith标注类或方法为测试类或方法提供扩展类引用
使用 @SpringBootTest @Test @DisplayName
使用 @BeforeAll 在 Spring 之前执行
使用 @BeforeEach @AfterEach 在 test 方法前后执行
使用 @AfterAll 所有方法全完成 Spring 关闭之前执行
使用 @Disabled
使用 @Timeout
使用 @RepeatedTest
使用 @ParameterizedTest
使用 @ValueSource
使用 @NullSource
使用 @EnumSource
使用 @MethodSource
使用 @Tag 此注解需搭配 maven 插件使用
<!-- 单元测试使用 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.22.2</version><configuration><!-- 解决运行乱码问题 --><argLine>-Dfile.encoding=UTF-8</argLine><!-- include tags --><groups>dev, local, prod</groups><!-- exclude tags --><excludedGroups>exclude</excludedGroups></configuration></plugin>
引入 local 标签排除 exclude 标签
使用 @ExtendWith 参考 @SpringBootTest 注解源码
断言说明
方法说明assertEquals判断两个对象或两个原始类型是否相等assertNotEquals判断两个对象或两个原始类型是否不相等assertSame判断两个对象引用是否指向同一个对象assertNotSame判断两个对象引用是否指向不同的对象assertTrue判断给定的布尔值是否为
true
assertFalse判断给定的布尔值是否为
false
assertNull判断给定的对象引用是否为
null
assertNotNull判断给定的对象引用是否不为
null
测试 assertEquals assertNotEquals
测试 assertSame assertNotSame
测试 assertTrue assertFalse
测试 assertNull assertNotNull
版权归原作者 疯狂的狮子Li 所有, 如有侵权,请联系我们删除。