执行排序
排序方式
- 方法排序
- 类排序
- Suite
方法排序的类型
| 类型 | 说明 |
|---|---|
| OrderAnnotation(重点) | @Order 注解指定排序 |
| DisplayName | 根据显示名称排序 |
| Random | 随机排序 |
| MethodName | 根据方法名称排序 |
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestMethodOrder; //设定排序方法为注解指定排序,需要和@Order结合使用 @TestMethodOrder(OrderAnnotation.class) class OrderedTestsDemo { @Test @Order(1) void nullValues() { } @Test @Order(2) void emptyValues() { } @Test @Order(3) void validValues() { } }

类排序-DisplayName名称排序
| 类型 | 说明 |
|---|---|
| OrderAnnotation(重点) | @Order 注解指定排序 |
| DisplayName | 根据显示名称排序 |
| Random | 随机排序 |
| ClassName | 根据类名排序 |
import org.junit.jupiter.api.*; // 指定类执行顺序的方式,DisplayName表示通过DisplayName排序 @TestClassOrder(ClassOrderer.DisplayName.class) class orderExampleTest { // 因为是多类执行,所以需要结合@Nested注解 @Nested @DisplayName("b") class PrimaryTests { @Test void test1() { System.out.println("第一条用例"); } } @Nested @DisplayName("a") class SecondaryTests { @Test void test2() { System.out.println("第二条用例"); } } }
使用默认配置指定顺序
-
新建配置文件(路径:
src/test/resources/junit-platform.properties) -
在配置文件中写入对应的配置信息
-
可以分别指定方法的默认配置和类的默认配置
配置默认方法的执行顺序
#默认排序方式为随机排序
junit.jupiter.testmethod.order.default = org.junit.jupiter.api.MethodOrderer$Random
#默认排序方式为通过方法名排序
#junit.jupiter.testmethod.order.default = org.junit.jupiter.api.MethodOrderer$MethodName
#默认排序方式为通过Order注解指定
#junit.jupiter.testmethod.order.default = org.junit.jupiter.api.MethodOrderer$OrderAnnotation
#默认排序方式为通过DisplayName排序
#junit.jupiter.testmethod.order.default = org.junit.jupiter.api.MethodOrderer$DisplayName
配置默认类的执行顺序
#默认排序方式为随机排序
junit.jupiter.testclass.order.default = org.junit.jupiter.api.ClassOrderer$Random
#默认排序方式为通过类名排序
junit.jupiter.testclass.order.default = org.junit.jupiter.api.ClassOrderer$ClassName
#默认排序方式为通过DisplayName排序
junit.jupiter.testclass.order.default = org.junit.jupiter.api.ClassOrderer$DisplayName
#默认排序方式为通过Order注解指定
junit.jupiter.testclass.order.default = org.junit.jupiter.api.ClassOrderer$OrderAnnotation

浙公网安备 33010602011771号