测试抛出异常时调用的方法

时间:2014-05-13 15:06:55

标签: java android android-testing

我在Android中进行测试时遇到了一些麻烦。 对于我做的每个测试,我在测试之前和测试之后都有一套共同的指令。因此,我们的想法是定义setUp()tearDown()方法。

到目前为止一切顺利。问题是,显然,当测试“失败”时,不会调用tearDown()方法(这意味着当测试抛出Exception时)。

当测试引发异常或“棘手”的方法时,是否有可以调用的方法?

1 个答案:

答案 0 :(得分:2)

像这样测试:

try{
    setUp();
    /* do some testing*/
}catch(Exception ex){
    /* do something with the exception */
    /* let the test fail */
}finally{
    tearDown();
}

它可能是解决您问题的最简单方法,但从良好的设计实践来看,应该避免这种情况。

编辑:

jUnit中有注释:Different teardown for each @Test in jUnit

EDIT2:

  

在每次测试之前调用setUp()方法。你用它来   初始化变量并从以前的测试中清理。你也可以   使用JUnit tearDown()方法,该方法在每个测试方法之后运行。   本教程不使用它。

http://developer.android.com/tools/testing/activity_test.html

如果每个测试都有不同的tearDown()方法,我认为您需要更改它们。