1

我已经搜索过这个,但只在 NUnit 上找到了一个主题。我猜 JUnit 与 NUnit 还是有点不同,所以我会继续问我的问题 ;-)

我有一个带有 setUp()、test() 和 tearDown() 的测试用例。我没有在 setUp() 和 test() 中抛出异常,而是使用了函数 fail("Some text here..."); 也有一些断言,因此测试可能会终止。现在我想在 tearDown() 函数(这是一个问题)中获取测试用例失败的原因,然后将其作为字符串写入文件(如果我能得到失败原因,这将没有问题)。我的问题是,如何访问有关测试用例失败的信息?我什至如何检查 tearDown() 函数中的测试是否完全失败?

问候, SH

4

1 回答 1

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)
            ....
}

另一种选择是创建一个自定义规则,以在失败的情况下执行您需要的操作。

于 2013-05-22T11:05:13.063 回答