API を使用して JUnit テスト スイートを呼び出そうとしています。以下を使用してテストクラスを作成できることを知っています。
@RunWith(Suite.class)
@Suite.SuiteClasses({
Test1.class,
Test2.class, ...
})
しかし、たとえば JUnitCore を使用して、Java API を使用してスイート全体をトリガーする方法はありますか?
たとえば、次のコードを使用してテストをトリガーできます。
Runner r =
try {
r = new BlockJUnit4ClassRunner(Class.forName(testClass));
} catch (ClassNotFoundException | InitializationError e) {
// handle
}
JUnitCore c = new JUnitCore();
c.run(Request.runner(r));
アップデート:
API からは、Suite クラス自体がランナーであるように見えるため、次のコードが機能するようです。
Suite suite = new Suite(klass, new RunnerBuilder() {
... // Implement methods
});
JUnitCore c = new JUnitCore();
c.run(Request.runner(suite));
しかし、これが推奨されるアプローチなのか、それとも上記のコードを書くことにマイナス面があるのかはわかりません。