Java Junit重复一个重复(或重复嵌套)测试?

nlejzf6q  于 2023-05-27  发布在  Java
关注(0)|答案(1)|浏览(161)

测试以类似多维的方式重复,是否可以简单地实现以下层次结构?我期望UI,例如显示子测试嵌套的VSC测试UI

class Test {
    @RepeatedTest(...)
    class ChildTest {
        RepetitionInfo info = ...

        @RepeatedTest(...)
        public void test() {
            RepetitionInfo info2 = ...
            System.out.printf(..., info1.getCurrentRepetition(), info2.getCurrentRepetition());

            // Idea:

            // 0 - 0
            // 0 - 1
            // 0 - 2
            // ...

            // 1 - 0
            // 1 - 1
            // 1 - 2
            // ...
        }
    }
}
wwwo4jvm

wwwo4jvm1#

您可以尝试使用Junit5的@Nested注解。这将允许一组测试的公共设置,并且它还将在IDE中非常好地显示测试报告。你可以这样使用它:

class Test {
    // RepetitionInfo info1 = ... // will be available for all

    @Nested
    @RepeatedTest(...)
    class ChildTest {
        RepetitionInfo info2 = ... // will be available for this class only

        @RepeatedTest(...)
        public void test() {
           ... // you can use info1 + info2 here
        }
        @RepeatedTest(...)
        public void test2() {
           ... // you can use info1 + info2 here
        }
    }

    @Nested
    @RepeatedTest(...)
    class ChildTest3 {
        RepetitionInfo info3 = ... // will be available for this class only
        // ... // you can use info1 + info3
    }
}

如果这是你需要的东西,你可以在这里阅读更多关于它:https://www.baeldung.com/junit-5-nested-test-classes

相关问题