如何给单元测试类中的测试方法自定义排序?
Spring Boot 通过 JUnit5 提供的@TestMethodOrder注解控制测试执行顺序,共有五种内置的排序方式。
按照@Order排序
- 将测试类上@TestMethodOrder注解参数值设置为MethodOrderer.OrderAnnotation.class;
- 为测试方法添加@Order(X)注解,参数值X是整数,整数越小越先执行。
package com.example.jdbctemplateproject; import org.junit.jupiter.api.MethodOrderer; import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestMethodOrder; /** * @author: shipleyleo * @create: 2023-04-08 20:56:50 */ @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class UnitTest { @Test @Order(1) public void test1() { System.out.println("Test 1"); } @Test @Order(2) public void test2() { System.out.println("Test 2"); } @Test @Order(3) public void test3() { System.out.println("Test 3"); } @Test @Order(0) public void test0() { System.out.println("Test 0"); } }
输出结果:
Test 0 Test 1 Test 2 Test 3
备注:
除了上面按照@Order排序
的方法外,还有其他方法,具体可以参考文章:Spring Boot 单元测试(五)自定义测试顺序
参考资料