我很难使用junit 4的预期注释来查看异常。我无法编译代码,因为有一个未处理的异常。
以下是创建情况的简单示例:
import static org.junit.Assert.*;
import java.io.UnsupportedEncodingException;
import org.junit.Test;
public class Simple {
@Test(expected=UnsupportedEncodingException.class)
public void simpleTest(){
String a = "";
a.getBytes("UTF-123");
}
}
我收到编译错误,说“未处理的异常类型UnsupportedEncodingException”
这是有道理的,我可以通过声明simpleTest抛出UnsupportedEncodingException来解决这个问题,但是我在网上看到很多人们不这样做的例子(在编写大量测试用例时会很好)。
有没有办法配置测试用例,以便我不必显式声明将抛出哪些异常?
答案 0 :(得分:2)
据我所知,UnsupportedEncodingException是一个经过检查的异常。因此,编译器会期望检查异常的throws子句。我猜你的代码会起作用,如果你尝试使用未经检查的异常,比如ArithmeticException。