我在Android中进行测试时遇到了一些麻烦。
对于我做的每个测试,我在测试之前和测试之后都有一套共同的指令。因此,我们的想法是定义setUp()
和tearDown()
方法。
到目前为止一切顺利。问题是,显然,当测试“失败”时,不会调用tearDown()
方法(这意味着当测试抛出Exception
时)。
当测试引发异常或“棘手”的方法时,是否有可以调用的方法?
答案 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()
方法,我认为您需要更改它们。