JUnitを使用してArrayListsを等価に比較する簡単な方法はありますか?等価インターフェースを実装する必要はありますか?それとも簡単なJUnitメソッドがありますか?JUnitを使用してArrayListsを等価で比較する簡単な方法は?
答えて
リストの平等のために何も特別な処理を行う必要はありません。単にassertEqualsを使用してください。
ArrayListなどのリストは、オブジェクトのequals()メソッドを使用して、リストの対応する位置にあるすべてのオブジェクトが等しいことを確認してequals()を実装します。したがって、リスト内のオブジェクトが正しく等しく実装されているかどうかチェックしたい場合があります。
うん、私はドキュメントを読んで気づいた。 –
この回答の問題は、失敗した場合にリストの内容を報告しないことです。 assertThat(a、is(b));を使ってみてください。代わりに。 starblueのequalsの実装に関する警告はまだ成立しています。 [duplicate question 3236880](http://stackoverflow.com/questions/3236880/assert-list-in-junit)もご覧ください:より良い回答とコードサンプルがあります。 – Barett
未来からの更新:これはプリミティブ型の配列では機能しないようで、どちらの場合でもassertEquals(Object []、Object [])は非推奨です。 assertArrayEqualsを使用します。 – johncip
List.equals
のドキュメントを参照してください。
私はJavaに感謝しています。 –
これは、リストがある場合、
リストの要素を 'Object.equals'と比較します。デフォルトでは、同じインスタンスの場合はtrueになります。同じ内部データを持つ異なるオブジェクトを一致させたい場合は、 'SomeClass'に' equals'(そして 'hashCode')メソッドを提供する必要があります。 –
これはやや簡単すぎる回答かもしれないと思いますが(正しいですが) equalsのArrayListsをテストすると、要素の等価性が考えられます。要素が整数の場合は、すべて正常です。しかし、それらがあなた自身のドメインクラスのインスタンスであれば、平等(およびクローニング)を取り巻く落とし穴に気づかなければなりません。チェックしてください:
http://www.artima.com/lejava/articles/equality.html
を平等の実装のヒントの良いセットのために。脇に:オブジェクトをクローンする必要がある場合は、クローン可能なオブジェクトを実装する代わりにコピーコンストラクタを使用することを検討してください。 Cloneableは、あなたが期待していないかもしれない一連の問題を紹介します。
- 1. C#で簡単な汎用比較を実装する方法
- 2. 多次元配列を等価で比較する方法は?
- 3. 厳密な等価比較
- 4. アンドロイドで2人のarraylistsの価値を比較するには?
- 5. スキームリスト等価比較
- 6. sha1ハッシュを等価で比較する最良の方法
- 7. Pythonのデータフレームの行を等価で比較する方法
- 8. Python 3.6.2ブールリテラルを使用した等価比較
- 9. Javaのif-elseブロックでの等価比較の方法は?
- 10. XMLBeanを使用してXML属性の比較を行う簡単な方法はありますか?
- 11. =(等号)=を使った等価比較がJavaで正しく機能しないのはなぜですか?
- 12. Handlebar.java:#ifヘルパーでの等価比較
- 13. 2つのArrayListsを比較する方法
- 14. 簡単な比較プロンプラム(数字用)は文字を等しいと見なしますか?
- 15. opencart 2.xを使用して価格比較ウェブサイトを作成する方法
- 16. 比較的簡単なJava POJOをシリアル化する最速の方法は?
- 17. Pythonで2つの画像を比較する簡単な方法
- 18. 単純な例での呼び出し、適用、バインドの比較簡単な例での比較
- 19. refを使って簡単に比較すると=
- 20. ArrayListsの文字の比較?
- 21. pandas dataframe dtypesは等価を比較します
- 22. テーブルを比較して一致を生成する最も簡単な方法は何ですか? Laravel 5.3
- 23. 等価ではない列挙型の比較可能性
- 24. db2空の文字列等価比較
- 25. WPFコンボボックスのカスタム等価比較者
- 26. fsharpのカスタム比較と等価性
- 27. 入力イテレータの等価比較
- 28. PHPアルゴリズム(緩い)等価比較
- 29. PHPでこの簡単な比較が等しくない理由を図解してください
- 30. Octave/MATLAB:構造体の等価性を比較するには?
[Assert List in Junit]の可能な複製(http://stackoverflow.com/questions/3236880/assert-list-in-junit) – djeikyb