我知道我可以使TestSuite枚举想要的所有类,例如:
@RunWith(Suite.class)
@SuiteClasses({SQLServerTests1.class, SQLServerTest2.class, ... })
public class AllSQLServerTests {}
但是,我有近100多个类,并且我不想记住必须在@SuiteClasses批注中包含任何新类。
由于我的类具有命名约定(例如,以“ SQLServer”开头),所以我正在寻找一种执行类似操作的方法:
@RunWith(Suite.class)
@SuiteClasses(prefix="SQLServer")
public class AllSQLServerTests {}
使用普通JUnit可能吗?用spring或其他框架?
答案 0 :(得分:1)
您可以为每个测试或测试类添加许多标签:
@Test
@Tag("red")
@Tag("production")
public void testWithColour() {...}
@RunWith(JUnitPlatform.class)
@IncludeTags("red & !production")
public class JUnit5Example {
//...
}
您也可以使用@ExcludeTags
,但不能与@IncludeTags
共存
@RunWith(JUnitPlatform.class)
@SelectPackages("com.acme.megaproduct.slowtests")
public class JUnit5Example {
//...
}
也许以上都不满足您的需求,在这种情况下,您可以编写自己的运行器来添加自定义过滤条件。
请参见here for step by step how to do it。 然后,您可以像这样使用它:
@RunWith(MyCustomRunner.class)
public class CustomTestSuite {
//...
}