验证是否使用正确的参数调用了重载方法

时间:2019-03-08 14:05:28

标签: java mockito

我想为以下课程编写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)方法的参数?

0 个答案:

没有答案