错误编译junit测试与期望异常

时间:2012-11-01 21:20:54

标签: junit junit4

我很难使用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来解决这个问题,但是我在网上看到很多人们不这样做的例子(在编写大量测试用例时会很好)。

有没有办法配置测试用例,以便我不必显式声明将抛出哪些异常?

1 个答案:

答案 0 :(得分:2)

据我所知,UnsupportedEncodingException是一个经过检查的异常。因此,编译器会期望检查异常的throws子句。我猜你的代码会起作用,如果你尝试使用未经检查的异常,比如ArithmeticException。