Je veux tester si une liste de chaînes est générée correctement en créant des tests unitaires en utilisant JUnit.Compare 2 Liste <String> si elles contiennent les mêmes éléments dans n'importe quel ordre [JUnit - Asset]
J'ai 2 listes de chaînes (une liste dans mon code est static privé, disons list1) avec les mêmes éléments (les mêmes éléments peuvent se multiplier) dans un ordre différent:
List<String> list1 = Arrays.asList("a","b","c");
List<String> list2 = Arrays.asList("c","a","b");
assertThat(list1 , containsInAnyOrder(list2));
C'est ne fonctionne pas et le test de junit renvoie que le premier élément ne correspond pas.
J'utilise probablement la méthode containsInAnyOrder
erronée.
containsInAnyOrder(java.util.Collection<Matcher<? super T>> itemMatchers)
Je ne sais pas comment implémenter ce Matcher
.
Je ne veux pas utiliser ce type de fonction car il est seulement correct pour une petite quantité d'éléments:
containsInAnyOrder(T... items)
Cela ne tient cependant pas compte des éléments répétés. Je pense que la réponse de @ MehrajMalik fonctionne mieux. –
@LeoAso oui en effet –