次のようなシグネチャを持つメソッドをモックしたい:
_ public <T> T documentToPojo(Document mongoDoc, Class<T> clazz)
_
私は以下のようにそれをm笑します:
_ Mockito.when(mongoUtil.documentToPojo(Mockito.any(Document.class), Mockito.any(WorkItemDTO.class)))
_
しかし、私は次のようなエラーを受け取ります:
タイプMongoUtil
のメソッドdocumentToPojo(Document, Class<T>)
は、引数_(Document, WorkItemDTO)
_には適用されません
MockitoにTのモックに役立つメソッドはありますか?
documentToPojo
は、2番目の引数としてClassを取ることに注意してください。 any(Foo.class)
は_Class<Foo>
_型ではなくFoo
型の引数を返しますが、eq(WorkItemDTO.class)
は期待どおり_Class<WorkItemDTO>
_を返す必要があります。私はこのようにします:
_when(mongoUtil.documentToPojo(
Mockito.any(Document.class),
Mockito.eq(WorkItemDTO.class))).thenReturn(...);
_
単にany( Class.class )
を使用して、汎用のClass<T>
引数と一致させることができます。例:
Mockito.when( mongoUtil.documentToPojo( Mockito.any( Document.class ),
Mockito.any( Class.class ) ) );
乾杯、