Junit comment vérifier si la chaîne est égale à l'une des deux chaînes?
Cela semble être une super question simple, mais je ne peux pas le comprendre.
J'essaie juste d'affirmer qu'une chaîne est égale à "mot1" OU "chaîne2".
Voici ce que j'ai essayé, mais aucun n'a évidemment pas de travail.
assertEquals(d.getFormType(), "string1") || assertEquals(d.getFormType(), "string2");
assertEquals(d.getFormType(), "string1" || "string2");
source d'informationauteur Catfish
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
assertTrue()
:ou la version étendue de fournir plus d'informations en cas d'échec:
Je vous recommande d'utiliser Hamcrest de rapprochement. Ils sont intégrés dans JUnit via
assertThat()
mais vous aurez besoin de télécharger et d'installer hamcrest-all.jar trop.À l'aide de Hamcrest, vous pouvez résoudre votre problème comme ceci:
Une autre alternative, si vous ne pouvez pas installer Hamcrest, serait d'utiliser une expression régulière:
C'est plus court, et sans doute plus lisible, que la combinaison de deux
equals()
états:L'affirmation de la classe n'ont pas de moyen direct de faire ce que vous voulez. Mais vous pouvez toujours revenir à
assertTrue
et de vérifier les conditions que vous souhaitez.comment sur
Je voudrais le mettre à jour msg d'être un gentil message amical en cas d'échec.
Je ne sais pas exactement JUnit style de le faire, mais je voudrais faire quelque chose de simple qui fonctionne:
Votre question n'a pas de sens. Les tests unitaires ont toujours le même résultat: ils ne sont pas aléatoire ou plutôt, ils ne devrait pas être. C'est pourquoi JUnit ne prend pas en charge alternance résultats.
Essayer de trouver un moyen de configurer le test de telle façon que la sortie ne change pas.
Si c'est vraiment impossible, il y a probablement quelque chose de mal avec votre code, ou au moins de sa conception.
Essayer de résoudre ce problème.
Si vraiment vous ne pouvez pas, alors vous pouvez utiliser:
[MODIFIER] tester plusieurs valeurs à la fois, vous pouvez utiliser cette astuce:
c'est à dire que vous mettez toutes les valeurs dans une longue chaîne, puis de vérifier l'ensemble de la chaîne. La plupart des IDEs affiche les différences entre deux éditeurs de texte côte à côte de sorte que toute erreur sera facile de voir + les petits signes (
0:
...) dans le texte va vous dire exactement où est l'erreur.