当前位置 : 主页 > 网络安全 > 测试自动化 >

如何使用JUnit4以编程方式执行测试套件?

来源:互联网 收集:自由互联 发布时间:2021-06-19
我试图使用API​​调用一个JUnit测试套件.我知道您可以使用以下方法来安装测试类: @RunWith(Suite.class)@Suite.SuiteClasses({ Test1.class, Test2.class, ...}) 但是,有没有办法使用Java API来触发整个套件
我试图使用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));

但我不知道这是否是推荐的方法,或者如果写上述代码有任何缺点.

只需将套件类的名称指定为JUnitCore:

Computer computer = new Computer();

JUnitCore jUnitCore = new JUnitCore();
jUnitCore.run(computer, MySuite.class);
网友评论