由于我们正在从Junit4升级到Junit5以进行单元测试,因此我无法找到像Junit4那样在Junit5中创建测试套件的解决方案: 以下是我们的Junit4套房类:
@RunWith(Suite.class)
@SuiteClasses({
ClassA.class,
ClassB.class,
ClassC.class
} )
public class TestSuite {
}
搜索后我尝试的代码如下:
@RunWith(JUnitPlatform.class)
@SelectClasses( {
OrderAnnotationAlphanumericExperiment.class,
orderAnnotationExperiment.class,
ParameterizedAnnotation.class
} )
public class TestSuite {
}
在寻找解决方案时,他们中的大多数人都提供了使用相同的测试套件使用 Vintage API 运行它的解决方案,但我正在寻找的是使用 Junit 5 中创建测试套件。
很少有人建议@ExtendsWith(SpringExtension.class(,但文档也较少,无法找到在 junit 5 中创建套件的解决方案
我提到的几个博客/问题/网站:
在 JUnit5 中创建 TestSuite (Eclipse( 测试套件在 JUnit5 中是否被视为已弃用? https://howtodoinjava.com/junit5/junit5-test-suites-examples/
有人帮助我解决这个问题。
这实际上很容易。下面将在目录foo.bar.tests
及其子目录中找到所有 JUnit 测试:
import org.junit.platform.runner.JUnitPlatform;
import org.junit.platform.suite.api.SelectPackages;
import org.junit.platform.suite.api.SuiteDisplayName;
import org.junit.runner.RunWith;
@RunWith(JUnitPlatform.class)
@SuiteDisplayName("JUnit Platform Suite Demo")
@SelectPackages("foo.bar.test")
public class FullTestSuite
}
请参阅用户指南的第 4.4.4 节。