テストで2つのリストを比較する場合、共通した以下の検証があるかと思います。
- サイズのチェック
- 中身のチェック
- ループ何回目でAssertionErrorが発生したか
型が異なる場合は、中身のチェックの共通化は一筋縄にいかないので、そこだけ呼び出し元で中身を検証するようなクラスを作りました。
使い方例はListVerifierTest.javaの方に記述してます。abstractメソッドで中身のチェックを行います。これで呼び出し元のコードがスッキリできるかと。
ListVerifierTest.javaの29行目を以下のように書き換えてテストを失敗させると
List<Integer> bar = Arrays.asList(3, 8);
以下のようなエラーが出力されます。
java.lang.AssertionError: AssertionError at index: 1 Expected: 8 Actual: Foo{result=7}
0 件のコメント :
コメントを投稿