Junit5 是否对@Nested
同一父级中定义的类的执行顺序提供任何保证?通过我制作的一个简单示例,我注意到测试是以与声明相反的顺序执行的,但这种行为既没有记录(或者是吗?),也不与带@Test
注释的方法默认的排序方式一致。
这也很烦人,因为显然我宁愿有一个非反向的顺序,如果不是一种类似于@TestMethodOrder
.
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
class NestedOrderTest {
@Nested
class NestedTest1 {
@Test
void testSuccess1() {
System.out.println(1);
}
}
@Nested
class NestedTest2 {
@Test
void testSuccess2() {
System.out.println(2);
}
}
@Nested
class NestedTest3 {
@Test
void testSuccess3() {
System.out.println(3);
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
3
2
1
Run Code Online (Sandbox Code Playgroud)
Junit 5.8@Nested
中添加了类排序功能。至此,平台给出了用户可能需要的一切保障。
import org.junit.jupiter.api.ClassOrderer;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestClassOrder;
@TestClassOrder(ClassOrderer.OrderAnnotation.class)
class OrderedNestedTestClassesDemo {
@Nested
@Order(1)
class PrimaryTests {
@Test
void test1() {
}
}
@Nested
@Order(2)
class SecondaryTests {
@Test
void test2() {
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3170 次 |
最近记录: |