我正在尝试使用JUnit 5 Vintage进行JUnit 4测试。
我在嵌套的静态类中有很多测试。顶级类中的测试运行良好,但嵌套类中的测试不会运行。
例如:
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?\$.*$'
,但它无效。
答案 0 :(得分:1)
您可以使用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>
答案 1 :(得分:0)
JUnit 5 Vintage在最终版本中添加了对运行嵌套静态类的支持。
默认情况下,它只查找名称以“Test(s)”结尾的类。要包含未命名的嵌套静态类,请在构建文件中设置以下内容。
junitPlatform.filters.includeClassNamePatterns '^.*Tests?$', '^.*Tests?\\$.*$'