2

我有 JUnit 4 测试,我正在尝试使用 JUnit 5 Vintage 运行。

我在嵌套的静态类中有很多测试。顶级类中的测试运行良好,但嵌套类中的测试不运行。

例如:

public class SomeOuterClass {
    @Test
    public void outerTest() {
        // test runs
    }

    public static class SomeInnerTests {
        @Test
        public void someTest() {
            // test doesn't run
        }
    }

    public static class OtherInnerTests {
        @Test
        public void otherTest() {
            // test doesn't run
        }
    }
}

我尝试设置junitPlatform.filters.includeClassNamePatterns'^.*Tests?$', '^.*Tests?\$.*$'但没有奏效。

4

2 回答 2

0

JUnit 5 Vintage 在最终版本中增加了对运行嵌套静态类的支持。

默认情况下,它只查找名称以“Test(s)”结尾的类。要包含未这样命名的嵌套静态类,请在构建文件中设置以下内容。

junitPlatform.filters.includeClassNamePatterns '^.*Tests?$', '^.*Tests?\\$.*$'
于 2018-01-02T21:52:16.657 回答
0

您可以使用JUnit 5 Vintage使用 JUnit 5 执行 JUnit 4 ,

通过导入 JUnit Vintage Engine 来使用它:

<dependency>
    <groupId>org.junit.vintage</groupId>
    <artifactId>junit-vintage-engine</artifactId>
    <version>${junit5.vintage.version}</version>
    <scope>test</scope>
</dependency>
于 2017-10-29T12:40:39.267 回答