Когда jUnit запускает набор тестов, содержащий несколько «вспомогательных наборов», возможно ли отфильтровать тесты, найденные в различных наборах, чтобы они выполнялись только один раз ? Я работаю над проектом со многими тестами интеграции баз данных, поэтому желательно выполнить их только один раз, чтобы ускорить его.
Рассмотрим этот "основной набор":
@RunWith(Suite.class)
@SuiteClasses
({
ModuleASuite.class,
ModuleBSuite.class,
// More suites...
})
public class MainSuite
{}
И эти «суб-сюиты»:
@RunWith(Suite.class)
@SuiteClasses
({
TestA1.class,
TestA2.class,
//... More tests only related to ModuleA
SomeTestUsedByManyModules.class
})
public class ModuleASuite
{}
@RunWith(Suite.class)
@SuiteClasses
({
TestB1.class,
TestB2.class,
//... More tests only related to ModuleB
SomeTestUsedByManyModules.class
})
public class ModuleBSuite
{}
В настоящее время при запуске MainSuite
с использованием jUnit 4.4 (с использованием Eclipse или Ant) он запускает SomeTestUsedByManyModules
дважды. Как я могу заставить его работать только один раз? Я думал о создании собственного Runner , но, может быть, есть более простое решение для этого?