Plusieurs résultats corrects avec Hamcrest (est-il ou-matcher?)
Je suis relativement nouveau pour les allumettes. Je suis jouer autour avec hamcrest en combinaison avec JUnit et j'ai un peu comme elle.
Est-il un moyen, pour indiquer que l'une des multiples choix est correct?
Quelque chose comme
assertThat( result, is( either( 1, or( 2, or( 3 ) ) ) ) ) //does not work in hamcrest
La méthode que je suis en train de tester retourne un élément d'une collection. La liste peut contenir plusieurs candidats. Mon actuel de la mise en œuvre renvoie le premier hit, mais ce n'est pas une exigence. Je voudrais que mon cas de test pour réussir, si l'un des candidats possibles est retourné. Comment voulez-vous exprimer cela en Java?
(Je suis ouvert à hamcrest-alternatives)
Vous devez vous connecter pour publier un commentaire.
De Hamcrest tutoriel:
Voir aussi Javadoc.
En outre, vous pouvez écrire votre propre Matcher, ce qui est assez facile à faire.
marcos est vrai, mais vous avez un couple d'autres options aussi bien. Tout d'abord, il y est d'une autre:
mais si vous avez plus de deux éléments, qu'il serait probablement difficile à manier. De Plus, la typechecker est bizarre sur des trucs comme ça, parfois. Pour votre cas, vous pourriez faire:
ou si vous avez déjà vos options dans un tableau/Collection:
Voir aussi Javadoc.
assertThat((Set<String>)null, is(either(empty()).or(nullValue())));
me donne une étrange erreur d'assertion:Expected: is (an empty collection or null) but: was null
pour hamcrest1.3
...