我想以编程方式运行特定的JUnit测试方法。我知道我可以使用以下代码片段运行整个测试:
Class<?> test = Class.forName("MyTestClass");
JUnitCore junit = new JUnitCore();
Result result = junit.run(test);
但是,我想在这个包含多个方法的测试类中运行一个特定的方法。
如果我可以控制setUp / tearDown行为,那也很棒。
谢谢
答案 0 :(得分:5)
有一个重载的JUnitCore#run方法版本接受Request
。虽然Request
具有Request#method工厂方法:
创建一个请求,在处理时,将运行单个测试。这是 通过过滤掉所有其他测试来完成。此方法用于支持 重新运行单项测试。
如果您需要控制#setUp
/ #tearDown
(即标有@Before
和/或@After
注释的方法),您可以扩展类并覆盖您需要的方法改变。