Je suis confus à propos de ces deux méthodes, car les deux peuvent faire la même chose, comme l'extrait ci-dessous de mon code.
Utilisation de assertEquals ()
String a = "Hello";
String b = "Hello";
assertEquals(a, b);
Utilisation de assertTrue ()
assertTrue(a.equals(b));
Quelqu'un peut-il me dire la différence réelle entre ces deux méthodes?
assertEquals
est meilleur car il donne au framework de test unitaire plus d'informations sur ce qui vous intéresse réellement. Cela lui permet de fournir de meilleures informations d'erreur lorsque le test échoue.
Supposons que vous ayez
String a = "Hello";
String b = "Hi";
Ensuite, les échecs de test pourraient ressembler à:
// From assertEquals(a, b)
Error: Expected "Hi"; was "Hello"
// From assertTrue:
Error: Expected true; was false
Laquelle de celles-ci, selon vous, vous donne plus d'informations, compte tenu du fait que les valeurs seraient probablement le résultat de calculs raisonnablement complexes?
(Ce sont des messages d'erreur composés car je n'ai pas installé testng, mais ce sont les kind des frameworks de tests unitaires.)