我是JUnit的新手。我正在研究如何获得像
这样的输出classname / function name / status / description。
我认为除了使用Rule的FrameworkMethod之外,没有其他方法可以获得成功测试名称。是否可以将规则设置为在JUnitCore / textui.Thx的帮助下运行的套件。!!
编辑: - 我尝试使用Junit 4.9b2的testwatchman,但执行套件对我不起作用。任何帮助,将不胜感激。
@RunWith(Suite.class)
@SuiteClasses({testclass1.class, testclass2.class})
public class junitCheck {
private static String watchedLog;
@Rule
public MethodRule watchman= new TestWatchman() {
@Override
public void failed(Throwable e, FrameworkMethod method) {
watchedLog+= method.getName() + " " + e.getClass().getSimpleName()
+ "\n";
}
@Override
public void succeeded(FrameworkMethod method) {
watchedLog+= method.getName() + " " + "success!\n";
}
};
}
public class testclass1 {
@Test
public void add()
{
Assert.assertEquals(4,2+3);
}
}
public class testclass2 {
@Test
public void add1()
{
Assert.assertEquals(4,2+2);
}
}
答案 0 :(得分:0)
查看TestWatchman规则。
答案 1 :(得分:0)
它不适用于套件。因此,唯一的方法是将org.junit.rules.TestWatcher添加到测试的公共超类中。