Heim  >  Artikel  >  Java  >  Vergleichen Sie zwei verschiedene Versionen von AssertEquals()

Vergleichen Sie zwei verschiedene Versionen von AssertEquals()

黄舟
黄舟Original
2016-12-28 11:51:421777Durchsuche

Vergleichen Sie zwei verschiedene Versionen von AssertEquals()


Sehen Sie sich die Definitionen von AssertEquals() in JUnit bzw. TestNG an:

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)

Ignorieren Sie den Typ jedes Parameters und tun Sie es Wenn Sie es nicht berücksichtigen, schauen Sie sich die Reihenfolge der drei Parameter tatsächlich, erwartet, Nachricht noch einmal an:

Die Reihenfolge in JUnit ist: (Nachricht), erwartet, tatsächlich.

Die Reihenfolge in TestNG ist: tatsächlich, erwartet, (Nachricht).

Der feine Unterschied besteht in der Reihenfolge von tatsächlich (tatsächlicher Wert) und erwartet (erwarteter Wert) und ihrer relativen Position zu den anderen beiden Parametern, wenn eine Nachricht (Informationstext) vorhanden ist. In JUnit hat die Nachricht (falls vorhanden) Vorrang, gefolgt von der erwarteten und dann der tatsächlichen Nachricht. In TestNG ist es genau umgekehrt: Die tatsächliche Nachricht hat Vorrang, gefolgt von der erwarteten Nachricht und dann der tatsächlichen Nachricht.

Im Vergleich dazu denke ich, dass TestNGs Definition von „assertEquals()“ eher der menschlichen Denklogik entspricht, was auch die sogenannte „Benutzerfreundlichkeit“ ist. Das ist natürlich nur eine persönliche Meinung, Ansichtssache.

Als ich zum ersten Mal die Definition von „assertEquals()“ in JUnit sah, dachte ich: Warum steht „actual“ nicht an erster Stelle und „expected“ an letzter Stelle? Heute habe ich zum ersten Mal die TestNG-Definition von „assertEquals()“ gesehen und plötzlich hatte ich das Gefühl, „jeder sieht das Gleiche“. Natürlich fühlt es sich wie ein nachträglicher Einfall an, dies jetzt zur Sprache zu bringen.

Aus diesem Grund begrüße ich TestNG!


Das Obige ist der Vergleich zweier verschiedener Versionen von AssertEquals(). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn