Comparez deux versions différentes de assertEquals()
Regardez les définitions de assertEquals() dans JUnit et TestNG respectivement :
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)
Ignorer le type de chaque paramètre et faire ne le considérez pas, revoyez l'ordre des trois paramètres réel, attendu, message :
L'ordre dans JUnit est : (message), attendu, réel.
L'ordre dans TestNG est : réel, attendu, (message).
La différence subtile est l'ordre du réel (valeur réelle) et attendu (valeur attendue), et sa position relative par rapport aux deux autres paramètres lorsque le message (texte d'information) existe. Dans JUnit, le message (s'il existe) est prioritaire, suivi de l'attendu, puis du réel ; dans TestNG, c'est exactement le contraire, le réel a la priorité, suivi de l'attendu, puis du message.
En comparaison, je pense que la définition de assertEquals() par TestNG est plus conforme à la logique de la pensée humaine, qui est aussi ce qu'on appelle la « convivialité ». Bien entendu, ce n’est qu’un avis personnel, une question d’opinion.
Quand j'ai vu pour la première fois la définition de assertEquals() dans JUnit, je me suis demandé pourquoi le réel n'est-il pas en premier et l'attendu en dernier ? Aujourd'hui, j'ai vu pour la première fois la définition de assertEquals() par TestNG, et tout à coup j'ai eu l'impression que "tout le monde voit la même chose". Bien sûr, en parler maintenant semble être une réflexion après coup.
Pour cette raison, j'applaudis TestNG !
Ce qui précède est la comparaison de deux versions différentes de assertEquals() Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !