APIコールの結果としてオブジェクトがあり、メンバー変数の値をアサートする必要があります。JUnitテストでAssertionErrorを捕捉するのは良い考えですか?
この値は、APIコールが最初に "見える"ものに応じて2つの期待値のいずれかになり、最初に設定されます。したがって、ある値のアサーションが失敗した場合は、そのテストを失敗として宣言する前に、別の値を宣言したいと思います。
これを行う最善の方法は何ですか?私が今持っていることは次のとおりです。
try {
assertEquals("message", someObject.getValue1(), expectedValue1);
} catch(AssertionError ae) {
assertEquals("message", someObject.getValue1(), expectedValue2);
}
私は、これは許容練習である場合だけでわかりません。コメントしてください。
ありがとう、@Aquilon!この場合、私のアサーションは、私が主張する必要があるオブジェクトのプロパティをパラメータとして取る検証メソッドに埋め込まれています。だから私は実際には、メソッドの署名を変更せずに同じプロパティに対して2つの期待値を渡すことはできません。だから、私はオリジナルのtry ... catchソリューションを使用して、将来のためにあなたのソリューションに気づいています。 – Shine