それは本当に簡単な質問だと思います。しかし、どういうわけか私はグーグルで答えを見つけることができません。
文字列のリストが2つあると仮定します。最初の文字列には「文字列A」と「文字列B」が含まれ、2番目の文字列には「文字列B」と「文字列A」が含まれます(順序の違いに注意してください)。それらをJUnitでテストして、まったく同じ文字列が含まれているかどうかを確認したいと思います。
順序を無視する文字列の同等性をチェックするアサーションはありますか?与えられた例では、org.junit.Assert.assertEqualsはAssertionErrorをスローします
java.lang.AssertionError: expected:<[String A, String B]> but was:<[String B, String A]>
回避策は、最初にリストをソートしてから、それらをアサーションに渡すことです。しかし、私は自分のコードをできるだけシンプルでクリーンにしたいと思っています。
Hamcrest 1.3、JUnit 4.11、Mockito1.9.5を使用しています。
list1.removeAll(list2)
list1
空のままにする必要があります。私はあなたがあなたが望むものを得るためにこれに基づいて構築することができると思います。