JUnit - 在tearDown()中访问失败消息

时间:2013-05-22 03:16:04

标签: testing junit trace teardown

我确实已经搜索过这个,但只在NUnit上找到了一个主题。我猜JUnit仍然和NUnit有点不同所以我要提前问我的问题; - )

我有一个带有setUp(),test()和tearDown()的测试用例。我没有在setUp()和test()中抛出exeptions,而是使用函数fail(“Some text here ...”);还有一些断言,因为测试可能会导致死亡。现在我想在tearDown()函数(这是一个prolbem)中得到测试用例失败的原因,然后将其作为字符串写入文件(如果我能得到失败原因那就没问题)。我的问题是,如何访问有关测试用例失败的信息?如何在tearDown()函数中检查测试是否完全失败?

此致 SH

1 个答案:

答案 0 :(得分:1)

以下是您可以执行此操作的程序化方法。

Throwable thrownException = null;

@Before
public void setup{ thrownException = null; }

@Test
public void test(){
    try{
         // do test here
    } catch (Throwable t){
        thrownException = t;
        throw t;
    }
}

@After 
public void cleanup(){
      if (thrownException != null)
            ....
}

另一种选择是创建一个自定义规则,以便在发生故障时执行所需的操作。