我想为以下课程编写Mockito测试:
public class SomeClass {
public String doSomething(SomeObject a, JsonArray b) {
doSomething(a, b, "");
}
public String doSomething(SomeObject a, JsonArray b, String c) {
// do some stuff
}
}
我有点想通过重载方法doSomething
来模仿默认参数。第二个doSomething
我已经有了一个测试用例,用于验证其中的内容是否正常运行。
现在,我想通过验证是否使用正确的参数调用了其中的第二个来测试第一个doSomething
。
所以我对测试用例的尝试是:
@Test
public void testDoSomething() {
// Prepare
final SomeClass clsIns = Mockito.mock(SomeClass.class);
final SomeObject someObj = Mockito.mock(SomeObject.class);
final JsonArray jsonArray = new JsonArray();
// Act
clsIns.doSomething(someObj, jsonArray);
// Assert
Mockito.verify(clsIns).doSomething(someObj, jsonArray, "");
}
但这不是在验证第二个重载方法的调用,而是告诉我,参数是不同的(想要:someObj, jsonArray, ""
,实际:someObj, jsonArray
)
我如何告诉Mockito检查重载(第二个doSomething)
方法的参数?