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");
}
}
「Unhandled exception type UnsupportedEncodingException」というコンパイル エラーが発生します。
これは理にかなっており、simpleTest が UnsupportedEncodingException をスローすることを宣言することでこれを修正できますが、人々がそれを行わない多くの例をオンラインで見てきました (これは、多くのテスト ケースを作成する場合に便利です)。
スローされる例外を明示的に宣言する必要がないように、テスト ケースを構成する方法はありますか?