Assert.fail()とAssert.assertFalse()
3536 ワード
QueryモジュールTest Caseは、一連の異常テストがあり、その中の一つを選択し、分析を行い、主にAssertクラスの用法であり、コードは以下の通りである.
このコードは主にgetQueryDataメソッドを使用する場合、パラメータidをチェックします(無効または不正なidの場合、異常情報が放出されます).
名前の説明
Assert.Fail ()
いかなる条件もチェックしないで断言を失敗させる.
Assert.Fail (String)
いかなる条件もチェックしないで断言を失敗させる.メッセージを表示します.
Assert.Fail (String, Object[])
いかなる条件もチェックしないで断言を失敗させる.メッセージが表示され、指定したフォーマットが適用されます.
以上の2つの方法の用法説明はhttp://junit.org/apidocs/org/junit/Assert.htmlから抜粋した.
簡単な説明:
Assert.Fail(String):文を実行すると、断言を直接失敗させ、カッコ内のStringパラメータを直接表示します.
assertFalse(java.lang.String message,boolean condition):パラメータconditionがfalseであるか否かを判断し、このパラメータ値がtrueである場合、パラメータmessage値を含む異常情報を放出する.
次に、上記のテストコードを分析します.
1.Assert.fail("Should get exception here!");
上のコードによって
パラメータ-1、異常が発生したはずです.tryコードブロックからcatchコードブロックに飛び出しました.意外にもこの文まで来ました.問題があるので、断言を直接失敗させ、エラーメッセージを印刷します.「Should get exception here!」
2.
ここで取得した異常情報eが我々が望む異常でない場合、Utilities.isNotExceptedException()の戻り結果がtrueであると断言に失敗し、異常情報「Should not get exception」+eが印刷されます.つまり、ここではeという異常情報をキャプチャすべきではありません(DcmIllegalIdExceptionをキャプチャすべきです)
このコードは主にgetQueryDataメソッドを使用する場合、パラメータidをチェックします(無効または不正なidの場合、異常情報が放出されます).
@Test
public void queryWithInvalidID() {
log.info("Enter GetQueryDataTest queryWithInvalidID()");
try {
log.info("Try to getQueryData");
dcmAPI.getQueryData(-1, QueryType.AVG_PWR, AggregationLevel.SELF, startTime,
oneCycleEndTime, FREQUENCY);
log.info("getQueryData finished");
Assert.fail("Should get exception here!");
} catch (Exception e) {
Assert.assertFalse("Should not get exception "
+ e.getClass().getSimpleName() + ": " + e.getMessage(),
Utilities.isNotExceptedException(e,
"DcmIllegalIdException", null));
}
log.info("Exit GetQueryDataTest queryWithInvalidID()");
}
名前の説明
Assert.Fail ()
いかなる条件もチェックしないで断言を失敗させる.
Assert.Fail (String)
いかなる条件もチェックしないで断言を失敗させる.メッセージを表示します.
Assert.Fail (String, Object[])
いかなる条件もチェックしないで断言を失敗させる.メッセージが表示され、指定したフォーマットが適用されます.
fail public static void fail(java.lang.String message) Fails a test with the given message. Parameters: message - the identifying message for the AssertionError (null okay) See Also: AssertionError
assertFalse
public static void assertFalse(java.lang.String message,
boolean condition)
Asserts that a condition is false. If it isn't it throws an AssertionError with the given message.
Parameters:
message - the identifying message for the AssertionError (null okay)
condition - condition to be checked
以上の2つの方法の用法説明はhttp://junit.org/apidocs/org/junit/Assert.htmlから抜粋した.
簡単な説明:
Assert.Fail(String):文を実行すると、断言を直接失敗させ、カッコ内のStringパラメータを直接表示します.
assertFalse(java.lang.String message,boolean condition):パラメータconditionがfalseであるか否かを判断し、このパラメータ値がtrueである場合、パラメータmessage値を含む異常情報を放出する.
次に、上記のテストコードを分析します.
1.Assert.fail("Should get exception here!");
上のコードによって
dcmAPI.getQueryData(-1, QueryType.AVG_PWR, AggregationLevel.SELF, startTime,oneCycleEndTime, FREQUENCY);
パラメータ-1、異常が発生したはずです.tryコードブロックからcatchコードブロックに飛び出しました.意外にもこの文まで来ました.問題があるので、断言を直接失敗させ、エラーメッセージを印刷します.「Should get exception here!」
2.
Assert.assertFalse("Should not get exception "
+ e.getClass().getSimpleName() + ": " + e.getMessage(),
Utilities.isNotExceptedException(e,
"DcmIllegalIdException", null));
ここで取得した異常情報eが我々が望む異常でない場合、Utilities.isNotExceptedException()の戻り結果がtrueであると断言に失敗し、異常情報「Should not get exception」+eが印刷されます.つまり、ここではeという異常情報をキャプチャすべきではありません(DcmIllegalIdExceptionをキャプチャすべきです)