1

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

有没有办法配置测试用例,这样我就不必明确声明将抛出哪些异常?

4

1 回答 1

2

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

于 2012-11-01T21:30:57.580 回答