我确实已经搜索过这个,但只在NUnit上找到了一个主题。我猜JUnit仍然和NUnit有点不同所以我要提前问我的问题; - )
我有一个带有setUp(),test()和tearDown()的测试用例。我没有在setUp()和test()中抛出exeptions,而是使用函数fail(“Some text here ...”);还有一些断言,因为测试可能会导致死亡。现在我想在tearDown()函数(这是一个prolbem)中得到测试用例失败的原因,然后将其作为字符串写入文件(如果我能得到失败原因那就没问题)。我的问题是,如何访问有关测试用例失败的信息?如何在tearDown()函数中检查测试是否完全失败?
此致 SH
答案 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)
....
}
另一种选择是创建一个自定义规则,以便在发生故障时执行所需的操作。