assertEquals() の 2 つの異なるバージョンを比較します
JUnit と TestNG でのassertEquals() の定義をそれぞれ見てみましょう:
JUnit:
static void assertEquals(Java.lang.Object expected, java.lang.Object actual) static void assertEquals(java.lang.String message, java.lang.Object expected, java.lang.Object actual)
TestNG:
static void assertEquals(java.lang.Object actual, java.lang.Object expected) static void assertEquals(java.lang.Object actual, java.lang.Object expected, java.lang.String message)
それぞれ無視してくださいパラメーターのタイプは考慮されません。actual、expected、message の 3 つのパラメーターの順序を再確認します。
JUnit の順序は、(message)、expected、actual です。
TestNG の順序は、実際の値、期待値、(メッセージ) です。
微妙な違いは、actual (実際の値) と Expected (期待値) の順序と、メッセージ (情報テキスト) が存在する場合の他の 2 つのパラメーターとの相対位置です。 JUnit では、メッセージ (存在する場合) が優先され、その後に期待値、次に実際の値が続きます。TestNG では、まったく逆で、実際の値が優先され、次に期待値、その後にメッセージが続きます。
それに比べて、TestNG のassertEquals() の定義は、いわゆる「使いやすさ」という人間の思考ロジックに沿っていると思います。もちろん、これは単なる個人的な意見であり、意見の問題です。
JUnit のassertEquals() の定義を初めて見たとき、なぜ実際が最初で最後が期待値ではないのかと考えました。今日、TestNGのassertEquals()の定義を初めて見たのですが、突然「みんな同じものを見ているな」と感じました。もちろん、今この話を持ち出すのは後付けのような気がします。
これに基づいて、私は TestNG を称賛します!
上記は、assertEquals() の 2 つの異なるバージョンの比較です。さらに関連するコンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。