Est de Java assertEquals méthode fiable?

Je sais que == a quelques problèmes lorsque l'on compare les deux Strings. Il semble que String.equals() est une meilleure approche. Eh bien, je suis en train de faire JUnit test et j'ai tendance à utiliser assertEquals(str1, str2). Est-ce un moyen fiable pour affirmer deux Chaînes contiennent le même contenu? Je voudrais utiliser assertTrue(str1.equals(str2)), mais alors vous n'obtenez pas l'avantage de voir quels sont les valeurs réelles et sont à l'échec.

Sur une note connexe, quelqu'un aurait-il un lien vers une page ou un thread qui explique clairement les problèmes avec str1 == str2?

  • Si vous n'êtes pas sûr, vous pouvez lire le code, ou la Javadoc. BTW, si vous voulez tester, ils sont le même objet que vous pouvez utiliser assertSame.
  • Si str1 et str2 sont nulles, assertEquals() est vrai, mais assertTrue(str1.equals(str2)) lève une exception. Le premier exemple sera également imprimer un utile message d'erreur tel que le contenu de str1 et str2, la seconde ne l'est pas.
InformationsquelleAutor DivideByHero | 2009-07-29