單元測試之verify及使用when打樁時對ArgumentMatchers的使用

假設obj類型中有一個公有方法methodA(int, DataObject, boolean, String)

 

1.比較方法中的所有參數是否相等

verify(obj, times(1)).methodA(1, dataObject, false,);

2.對方法中的所有參數使用ArgumentMatchers進行匹配

verify(obj, times(1)).(ArgumentMatchers.anyInt(), ArgumentMatchers.any(DataObject.class), ArgumentMatchers.anyBoolean(), ArgumentMatchers.anyString())

3.對方法中的部分參數使用ArgumentMatchers進行匹配,部分參數比較是否相等

verify(obj, times(1)).(ArgumentMatchers.anyInt(), ArgumentMatchers.eq(DataObject.class), ArgumentMatchers.anyBoolean(), ArgumentMatchers.startWith("abc"))

4.如果需要匹配某個null參數,則anyXxx()方法是無法匹配到的,需要isNull()。

verify(obj, times(1)).(ArgumentMatchers.anyInt(), (DataObject)ArgumentMatchers.isNull(), ArgumentMatchers.anyBoolean(), (String)ArgumentMatchers.isNull())

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章