我使用了@FixMethodOrder(MethodSorters.NAME_ASCENDING)
,但是测试用例的执行顺序不是名称的升序。
下面是完整的代码。
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.runners.MethodSorters;
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
class JunitCalculator {
@BeforeAll
static void setUpBeforeClass() throws Exception {
System.out.println("Before All");
}
@AfterAll
static void tearDownAfterClass() throws Exception {
System.out.println("After All");
}
@Test
void add() {
System.out.println("Add Test");
}
@Test
void divide() {
System.out.println("Divide Test");
}
@Test
void sub() {
System.out.println("Subtract Test");
}
@Test
void mul() {
System.out.println("Multiply Test");
}
@Test
void square() {
System.out.println("Square Test");
}
}
执行的预期顺序: add()->除法()-> mul()-> square()-> sub()
exec的实际顺序: divide()-> sub()-> add()-> mul()-> square()