【发布时间】:2012-04-25 00:06:13
【问题描述】:
我正在尝试使用 API 调用 JUnit 测试套件。我知道您可以使用以下方法来设置测试类:
@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));
更新:
从 API 看来,Suite 类本身就是一个运行器,因此以下代码似乎可以工作:
Suite suite = new Suite(klass, new RunnerBuilder() {
... // Implement methods
});
JUnitCore c = new JUnitCore();
c.run(Request.runner(suite));
但我不确定这是否是推荐的方法,或者编写上述代码是否有任何缺点。
【问题讨论】:
标签: junit automated-tests junit4 test-suite