次のような状況があります...特定のメソッドが呼び出されるたびに例外をスローしたいと考えています。このメソッドに何が渡されるかは気にしません。例外を呼び出したいだけです。問題は、このメソッドがカスタム クラスをパラメーターとして受け取ることです。
これを行うために私が見つけた唯一の方法は、次のとおりです。
// Matches any Foo
TypeSafeMatcher<Foo> fooMatcher = new TypeSafeMatcher<Foo>() {
@Override
public Boolean matchesSafely(Foo foo) {
return true;
}
// more overrides
}
doThrow(new RuntimeException("dummy exception")).when(mockObj).someMethod(fooMatcher);
私は次のことを試みましたが、「オブジェクトをFooに変換できません」のようなメッセージが表示されます...これは理にかなっています:
doThrow(new RuntimeException("dummy exception")).when(mockObj).someMethod(anyObject());
カスタムクラスごとにカスタムマッチャーを作成しなくても、これを行う簡単な方法があるかどうか疑問に思っていますか?
ありがとう