テストに使用する関数に少し問題があります。私のテスト方法は次のとおりです。アサート成功後の戻り値
一方のリストが他方に(部分的に)含まれているかどうかを確認する必要があります。
テストが成功したかどうかにかかわらず、結果を返信したいと思います。これを行う方法はありますか、またはassertTrue/assertFalseは常にすぐに終了しますか?
テストに使用する関数に少し問題があります。私のテスト方法は次のとおりです。アサート成功後の戻り値
一方のリストが他方に(部分的に)含まれているかどうかを確認する必要があります。
テストが成功したかどうかにかかわらず、結果を返信したいと思います。これを行う方法はありますか、またはassertTrue/assertFalseは常にすぐに終了しますか?
あなたのメソッドは値を返すか、データを検証する必要があります。それを混ぜないでください。あなたはそれをやったし、今、あなたは問題を抱えている:)
public static List<FieldError> proofFields(final List<String> fieldNames, final
List<FieldError> errors){
return errors.stream().filter(fieldError ->
fieldNames.contains(fieldError.getField())).collect(toList());
}
public static assertFieldWithError(final List<String> fieldNames, final
List<FieldError> errors){
assertEquals(fieldNames.size(), foundFields.isEmpty());
... iterate do more detail and check ....with assertXXXX();
}
public static assertFieldWithoutError(final
List<FieldError> errors){
assertTrue(foundFields.isEmpty());
}
も建設のためのように:
assertTrue(fieldNames.size() == foundFields.size())
活用
assertEquals(fieldsAbsent.size() , foundFields.size());
それより有益な方法として。
ありがとう、これはそれを組み合わせる良い方法です。 :) – NagelAufnKopp
あなたはそれを両方向にすることはできません。あなたのケーキはと食べることはできません。
多くのJUnitのアサートのいずれかを使用しているか、または例外をスローしないコードがあります。
意味:その条件が満たされない場合に投げるのはassert()
の性質です。
したがって、答え:あなたの要件に応じてクリアを取得する必要があります。特定の状況でテストを実行させたい場合は、asserts
を続けてください。結果を常に返す場合は、それらの呼び出しを削除します。
コードは正常に動作するはずです。 – SLaks
条件が満たされない場合、アサーションは例外をスローします。あなたがそれを望まないなら、アサーションを使うのではなく、メッセージを出力したいかもしれません。 – khelwood
AssertionErrorをキャッチして何もしないでください – Zeromus