模拟具有不同参数的相同方法
2022-09-01 01:01:11
我正在使用mockito来测试我的业务服务,它使用我想要模拟的实用程序。每个服务方法中至少有 2-3 个调用,用于具有不同参数的实用程序。
是否有任何推荐的方法可以对相同方法但不同的参数使用多个方法?when(...).thenReturn(...)
我也想在里面使用游行者。可能吗?any()
更新:示例代码。
@Test
public void myTest() {
when(service.foo(any(), new ARequest(1, "A"))).thenReturn(new AResponse(1, "passed"));
when(service.foo(any(), new ARequest(2, "2A"))).thenReturn(new AResponse(2, "passed"));
when(service.foo(any(), new BRequest(1, "B"))).thenReturn(new BResponse(112, "passed"));
c.execute();
}
public class ClassUnderTest {
Service service = new Service();
public void execute() {
AResponse ar = (AResponse) service.foo("A1", new ARequest(1, "A"));
AResponse ar2 = (AResponse) service.foo("A2", new ARequest(2, "2A"));
BResponse br = (BResponse) service.foo("B1", new BRequest(1, "B"));
}
}
public class Service {
public Object foo(String firstArgument, Object obj) {
return null; //return something
}
}