表示する前のヒント:
この記事で使用されているIDEAバージョンは究極の2019.1であり、JDKバージョンは1.8.0_141です。
1はじめに
コードを作成するときは、常にいくつかの仮定を行います。アサーションは、コード内でこれらの仮定をキャプチャするために使用されます。アサーションは、例外処理の高度な形式と見なすことができます。アサーションは、プログラマーがプログラムの特定の時点で真であると信じるブール式として表されます。アサーション検証はいつでも有効または無効にできるため、テスト中にアサーションを有効にし、展開中にアサーションを無効にすることができます。同様に、プログラムが稼働した後、エンドユーザーは問題が発生したときにアサーションを再度有効にすることができます。
2.使用法
JAVA SE 1.4で引用されているassertキーワードは、デフォルトでオフになっています。アサーションを有効にする場合は、スイッチ-enableassertionsまたは-eaを使用して有効にする必要があります。
2つの使用法:
-
assert <boolean expression>
<boolean expression>がtrueの場合、プログラムは正常に実行されます。
<boolean expression>がfalseの場合、java.lang.AssertionErrorがスローされ、プログラムが終了します。 -
assert <boolean expression>:<エラーメッセージ>
<boolean expression>がtrueの場合、プログラムは正常に実行されます。
<boolean expression>がfalseの場合、java.lang.AssertionErrorがスローされ、出力情報は<error information>になり、プログラムは終了します。
3.例
テストコードTest.java
package testAssert;
public class Test {
public static void main(String[] args) {
assert true;
System.out.println("assert true 断言通过");
assert false : "assert false 断言失败";
System.out.println("assert false 断言通过");
}
}
-eaスイッチが開始されていない
場合、結果として、アサーションを有効にする場合は、VMオプションで-eaまたは-enableassertionsを構成する必要があります。
-eaスイッチをオンにすると、実行結果は次のようになります。
4.まとめ
-
アサートはjunitに似ていますが、その機能はjunitよりもはるかに劣っています。assertの使用はできるだけ避けることをお勧めします。
-
アサーションが失敗すると、プログラムは終了します。実際の実稼働環境では、通常、例外キャプチャを使用して問題を解決します。アサーションを使用する場合、アサーションの失敗は、システムがハングすることを意味します。
-
アサートを使用してプログラムをデバッグする場合、主流のJava IDEツールはデフォルトで-eaスイッチをオフにし、それを使用するには-eaスイッチをオンにする必要があります。JavaWebアプリケーションの場合、Webアプリケーションの構成パラメーターを変更する必要があり、プログラムの展開には非常に不便です。