我的JUnit测试如下:
public class Toto {
@BeforeClass
public static void initTest1() {
try {
openAppli();
} catch(Exception e) {
e.printStackTrace();
}
}
@Test
public void test1() {
try{
//do some actions
} catch(Exception e) {
e.printStackTrace();
}
}
@AfterClass
public static void AfterTest1() {
CloseAppli();
}
}
我想知道:
答案 0 :(得分:2)
通常,您不应该捕获Exception基类。 (这有时被称为“口袋妖怪异常处理”,除非您确切知道为什么需要这样做,否则这是不好的做法。)如果您希望抛出异常,您的单元测试应始终测试特定的异常类型,否则他们可能会在不应该的时候通过。
请记住,异常意味着(或应该意味着)您的方法无法按照其名称所做的那样做。在您的代码本身中,您不应该捕获异常,除非您确定您确切知道从中恢复需要做什么。
答案 1 :(得分:1)
如果您希望抛出异常,可以使用
注释您的测试@Test(expected=Exception.class)
对于你期待的任何异常。
如果没有,您可以声明测试以抛出Exception
。