如果我有
public class ServiceParameters {
private String ABC;
public ServiceParameters(ServiceParametersBuilder builder) {
this.ABC = builder.ABC;
}
public static class ServiceParametersBuilder {
private String ABC;
public ServiceParameters build() {
return new ServiceParameters(this);
}
}
}
以及在其他地方调用的代码
serviceParameters = new ServiceParameters.ServiceParametersBuilder().build();
我如何模拟以便上面的代码使用EasyMock和PowerMock返回一个模拟的ServiceParameters
?
答案 0 :(得分:0)
你没有解释,你应该测试什么。无论如何,没有必要模拟ServiceParameters:它什么也不做,应该替换(或者用单元测试来模拟)。您可以创建它并继续测试。 如果ServiceParameters有一个方法:
public int someMethod()...
从DB读取文件或查询或调用第三方服务等。可以对这样的测试进行模拟:
public class TestServiceParameters {
@Mock
ServiceParameters parametersMock;
@Test
public void test() {
Mockito.when(parametersMock.someMethod()).thenReturn(1);
//.... test stuff here
}
}
我还有一些例子here。