ホームページ  >  記事  >  Java  >  2 つの異なるバージョンのassertEquals()を比較する

2 つの異なるバージョンのassertEquals()を比較する

黄舟
黄舟オリジナル
2016-12-28 11:51:421748ブラウズ

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) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。