我怎样才能在JUnit中获得Testname / Test状态

时间:2011-08-05 01:37:54

标签: junit

我是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);
    }
}

2 个答案:

答案 0 :(得分:0)

查看TestWatchman规则。

答案 1 :(得分:0)

它不适用于套件。因此,唯一的方法是将org.junit.rules.TestWatcher添加到测试的公共超类中。