以编程方式调用特定的JUnit测试

时间:2013-07-09 14:58:50

标签: java junit

我想以编程方式运行特定的JUnit测试方法。我知道我可以使用以下代码片段运行整个测试:

Class<?> test = Class.forName("MyTestClass");
JUnitCore junit = new JUnitCore();
Result result = junit.run(test);

但是,我想在这个包含多个方法的测试类中运行一个特定的方法。

如果我可以控制setUp / tearDown行为,那也很棒。

谢谢

1 个答案:

答案 0 :(得分:5)

有一个重载的JUnitCore#run方法版本接受Request。虽然Request具有Request#method工厂方法:

  

创建一个请求,在处理时,将运行单个测试。这是   通过过滤掉所有其他测试来完成。此方法用于支持   重新运行单项测试。

如果您需要控制#setUp / #tearDown(即标有@Before和/或@After注释的方法),您可以扩展类并覆盖您需要的方法改变。