Mockito java - 使用不同参数

时间:2016-11-30 10:31:57

标签: java junit mockito junit4

我正在尝试测试此方法,以查看是否在没有参数的情况下调用searchProfile:

public void searchProfile(Long searchTerm) {
    this.searchTerm = searchTerm;
    searchProfile();
}

public void searchProfile() {
     //...
}

这是我的测试用例,我用一个参数调用该方法,并期望没有参数的那个被调用

@Test
public void testSearchProfile() throws Exception {
    CustomerProfileController sutStub = Mockito.mock(CustomerProfileController.class);

    doNothing().when(sutStub).searchProfile();

    sutStub.searchProfile(0L);

    verify(sutStub, times(1)).searchProfile();
}

我该如何使这项工作?现在它只是给我一个错误:

  

比较失败:

     

预期:customerProfileController.searchProfile();

     

实际:customerProfileController.searchProfile(0);

1 个答案:

答案 0 :(得分:3)

你应该使用

Mockito.when(sutStub.searchProfile(Mockito.anyLong())).thenCallRealMethod();

准备模拟时。