Я пытаюсь вызвать набор JUnit Test с помощью API. Я знаю, что вы можете установить тестовые классы, используя следующее:
@RunWith(Suite.class)
@Suite.SuiteClasses({
Test1.class,
Test2.class, ...
})
Но есть ли способ запуска всего пакета с использованием Java API, например, с помощью JUnitCore?
Например, вы можете запустить тест, используя следующий код:
Runner r =
try {
r = new BlockJUnit4ClassRunner(Class.forName(testClass));
} catch (ClassNotFoundException | InitializationError e) {
// handle
}
JUnitCore c = new JUnitCore();
c.run(Request.runner(r));
Update:
Из API кажется, что сам класс Suite является бегуном, поэтому следующий код работает:
Suite suite = new Suite(klass, new RunnerBuilder() {
... // Implement methods
});
JUnitCore c = new JUnitCore();
c.run(Request.runner(suite));
Но я не уверен, что это рекомендуемый подход или если есть недостаток в написании вышеуказанного кода.