JUnit 4.x 以降の例外処理

JUnit 4.x 以降のバージョンでは、例外をスローするメソッドの定義が可能です。スローされた例外は、JUnit によって検証されます。Silk Performer は、スローしたメッセージの検証を含めて、例外をスローする JUnit メソッドをインポートします。
//@Test(expected=java.lang.IllegalArgumentException)
    JavaRegisterException(500,"java.lang.IllegalArgumentException", JAVA_OPTION_MATCH_SUBSTRING);
    ErrorAdd(FACILITY_NATIVE_JAVA, 500, SEVERITY_INFORMATIONAL);
    JUnit4CallFunc(ghTestObj, "doFoo", "doFoo", sBuffer);
    ErrorRemove(FACILITY_NATIVE_JAVA, 500);
    if (StrSearch(sBuffer, "java.lang.IllegalArgumentException", STR_SEARCH_FIRST) = 0) then 
          RepMessage("method did not throw: java.lang.IllegalArgumentException", SEVERITY_ERROR);
    end;

上のサンプルは、java.lang.IllegalArgumentException をスローする可能性がある JUnit メソッドをテストします。関数 JavaRegisterException を使って、BDL エラーコード 500 を例外に割り当てます。このエラーは想定されたものなので、関数 ErrorAdd を使って、エラーの深刻度を情報に設定します。その後、JUnit メソッド doFoo が呼び出されます。ここで、パラメータ sBuffer はエラー メッセージの取得に使用されます。ErrorRemove 関数は、エラー処理を元の状態に戻します。また、想定されていた例外が発生したことを確認します。それ以外の場合は、BDL エラーを発生させます。

注: BDL スクリプトを手動で変更する場合は、Java 例外を別の BDL エラー番号にマッピングしないでください。その逆もしないでください。