小编Cla*_*udi的帖子

对于每个嵌套的测试类,都会执行 junit5 扩展的 BeforeAll / AfterAll 回调。这是预期的吗?

我有一个测试类,里面有多个嵌套的测试类。外部测试类使用实现 BeforeAllCallback 和 AfterAllCallback 的扩展。在执行外部测试类时,会为每个嵌套类调用这些接口的方法。这是预期的行为吗?我找不到任何明确指定这一点的文档。

外部测试类也有@BeforeAll 和@AfterAll 方法。这些在执行外部测试类时执行一次。我有点期望扩展的行为相同。

如果这种行为确实是预料之中的,有没有办法抑制它?

这是一个最小的代码示例。但是,非自定义扩展(例如 SpringExtension)显示相同的行为:

@ExtendWith(MyExtension.class)
public class SomeTest {

    @BeforeAll
    static void create() {
        System.out.println("Call beforeAll of test class");
    }

    @AfterAll
    static void destroy() {
        System.out.println("Call afterAll of test class");
    }

    @Nested
    class InnerTest1 {
        @Test
        void testingA() {
            System.out.println("Test 1A");
        }

        @Test
        void testingB() {
            System.out.println("Test 1B");
        }
    }

    @Nested
    class InnerTest2 {
        @Test
        void testingA() {
            System.out.println("Test 2A");
        }

        @Test
        void testingB() {
            System.out.println("Test 2B");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
public class MyExtension …
Run Code Online (Sandbox Code Playgroud)

java testing junit5

7
推荐指数
1
解决办法
810
查看次数

标签 统计

java ×1

junit5 ×1

testing ×1