[英]Mockito. Verify method param to be a particular class
我有一個方法:
void putObject(<T extends BaseEntity> param)
有一些測試,我嘲笑這個方法,但我想知道,如何驗證該方法是否被特定類的參數調用? 試圖以這樣的方式做到:
verify(foo).putObject((SomeClass)anyObject());
------
verify(foo).putObject(any(SomeClass.class));
------
ArgumentCaptor<SomeClass> parameter = ArgumentCaptor
.forClass(SomeClass.class);
verify(foo).putObject(parametr);
僅使用any()
工作第二個變量,但它不t check class of
參數t check class of
。 那么,如果有可能驗證該方法獲得特定類的任何對象?
用戶匹配文檔 是A()方法。
public static <T> T isA(java.lang.Class<T> clazz)
這將解決您的問題。
verify(foo).putObject(isA(SomeClass.class));
實際上你可以用ArgumentCaptor查看。
ArgumentCaptor<SomeClass> parameterCaptor = ArgumentCaptor
.forClass(SomeClass.class);
verify(foo).putObject(parameterCaptor.capture());
SomeClass instance = parameterCaptor.getValue();
// check intance.getX()
// check instance.getY()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.