ruoyi-vue-plus-单元测试
# 单元测试
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
环境分类
- 普通单元测试
- Springboot环境单元测试 (在类加上
@SpringBootTest
注解 实现)
提示
普通的单元测试一般用于测试静态的工具 , 而SpringBoot环境的单元测试加载了 Bean对象
批执行常用注解
@DisplayName
注解 , 单元测试标识 , 标识测试名称@BeforeAll
注解 , 前置单元测试 , 必须是静态方法@AfterAll
注解 , 后置单元测试 , 必须是静态方法@BeforeEach
注解 , 每个单元测试之前执行@AfterEach
注解 , 每个单元测试之后执行@Disabled
注解 , 禁用当前测试的方法@Timeout
注解 , 设置单元测试超时时间@RepeatedTest
注解 , 重复执行测试单元
# 带参单元测试
搭配一下参数注解 (每个参数作为一个单独的单元测试执行)
@ParameterizedTest
注解 , 标识带参注解@ValueSource
注解 , 常用基础类型传参@NullSource
注解 , null值传参@EnumSource
注解 , 枚举类传参 (每个枚举执行一次)@MethodSource
注解 , 方法传参 (方法必须是静态且返回是流)@ScvFileSource
注解 , 根据表格文件传参 , 支持跳过行
# 标签单元测试
标签单元测试是在Maven编译构建时执行的测试单元 , 可根据不同的编译环境执行不同的单元 . 在测试单元中采用 @Tag
注解 控制单元测试
编译环境是在最外层的 pom.xml
文件
点击展开
<profiles>
<profile>
<id>local</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>local</profiles.active>
<logging.level>info</logging.level>
</properties>
</profile>
<profile>
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
<logging.level>info</logging.level>
</properties>
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
<logging.level>warn</logging.level>
</properties>
</profile>
</profiles>
...
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<argLine>-Dfile.encoding=UTF-8</argLine>
<!-- 根据打包环境执行对应的@Tag测试方法 -->
<groups>${profiles.active}</groups>
<!-- 排除标签 -->
<excludedGroups>exclude</excludedGroups>
</configuration>
</plugin>
</plugins>
</build>
...
提示
如果项目未采用环境切换的形式编译 , 那么会执行所有的单元测试