Sha*_*jan 5 java unit-testing mockito
我正在尝试when使用多个any参数定义mockito 方法:
TestBedDaoClient testBedDaoClient = mock(TestBedDaoClient.class);
when(testBedDaoClient.addTestBed(anyString(), anyString(), any(VCloudConfiguration.class))).thenReturn(testBedPojoMockData);
Run Code Online (Sandbox Code Playgroud)
在目标测试类中:
TestBedPojo addedTestBedPojo = testBedDaoClient.addTestBed(testBedName, testBedDescription, vCloudConfiguration);
Run Code Online (Sandbox Code Playgroud)
在 DAO 客户端中:
public TestBedPojo addTestBed(String testBedName, String testBedDescription, VCloudConfiguration vCloudConfiguration){
return testBedPojo;
}
Run Code Online (Sandbox Code Playgroud)
我想以when这样一种方式定义它返回testBedPojoMockData任何参数值。但我收到错误:Argument(s) are different!
我什至试过:
when(testBedDaoClient.addTestBed("test", "test", any(VCloudConfiguration.class))).thenReturn(testBedPojoMockData);
when(testBedDaoClient.addTestBed(any(), any(), any())).thenReturn(testBedPojoMockData);
Run Code Online (Sandbox Code Playgroud)
但没有运气。我如何定义它when以便它在任何调用中返回模拟数据?
应该使用when和的正确组合verify。它在addTestBed方法中的任何其他参数组合上都失败了。
when(testBedDaoClient.addTestBed(anyString(), anyString(), any(VCloudConfiguration.class))).thenReturn(testBedPojoMockData);
//calling target method
verify(testBedDaoClient, times(1)).addTestBed(anyString(), anyString(), any(VCloudConfiguration.class));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10630 次 |
| 最近记录: |