gpt4 book ai didi

java - 在有多个任意参数时定义 mockito

转载 作者:搜寻专家 更新时间:2023-11-01 02:38:40 25 4
gpt4 key购买 nike

我正在尝试使用多个 any 参数定义 when mockito 方法:

TestBedDaoClient testBedDaoClient = mock(TestBedDaoClient.class);
when(testBedDaoClient.addTestBed(anyString(), anyString(), any(VCloudConfiguration.class))).thenReturn(testBedPojoMockData);

在目标测试类中:

TestBedPojo addedTestBedPojo = testBedDaoClient.addTestBed(testBedName, testBedDescription, vCloudConfiguration);

在 DAO 客户端中:

public TestBedPojo addTestBed(String testBedName, String testBedDescription, VCloudConfiguration vCloudConfiguration){
return testBedPojo;
}

我想定义 when,使其返回带有任何参数值的 testBedPojoMockData。但我收到错误:Argument(s) are different!

我什至试过:

when(testBedDaoClient.addTestBed("test", "test", any(VCloudConfiguration.class))).thenReturn(testBedPojoMockData);
when(testBedDaoClient.addTestBed(any(), any(), any())).thenReturn(testBedPojoMockData);

但运气不好。我如何定义此 when 以便它在任何调用时返回模拟数据?

最佳答案

应该使用 whenverify 的正确组合。它在 addTestBed 方法中的任何其他参数组合上失败。

when(testBedDaoClient.addTestBed(anyString(), anyString(), any(VCloudConfiguration.class))).thenReturn(testBedPojoMockData);
//calling target method
verify(testBedDaoClient, times(1)).addTestBed(anyString(), anyString(), any(VCloudConfiguration.class));

关于java - 在有多个任意参数时定义 mockito,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39830712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com