ArgumentMatcher を拡張するクラスを使用する以外に、引数を検証するよりエレガントな方法があるかどうか疑問に思っていましたか?
ありがとう。
ArgumentMatcher を拡張するクラスを使用する以外に、引数を検証するよりエレガントな方法があるかどうか疑問に思っていましたか?
ありがとう。
ArgumentCaptor
これを行う方法として探していますか?http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html#captorsを参照してください。これにより、モックのメソッドに渡された値に対して好きなチェックを実行できます。多くの場合、 を設定するよりもはるかに簡単ですArgumentMatcher
。
「よりエレガント」とはどういう意味かわかりませんが、カスタムArgumentMatcherを実装する代わりに、 HamcrestMockito.argThat
マッチャーを引数として取るマッチャーを使用することもできます。Hamcrestライブラリ自体とサードパーティの両方で利用可能なHamcrestマッチャーが多数あるため、独自のカスタム引数マッチャーを作成する手間を省くことができますが、必要なものがない場合は、カスタムHamcrestを作成できます。 MockitoArgumentMatcherの代わりにマッチャー。それがよりエレガントであるかどうかは、見る人の目にあります。
その使用例は、MockitoのMatcherとHamcrestMatcherに対するこの回答を見ることができます。