与mockito的模拟构造函数

Mat*_*ock 7 java junit mockito

我想将构造函数模拟为方法.

public String generaID() {   
    GeneraIDParaEntidadCliente aux = new GeneraIDParaEntidadCliente(nombre, registro);   
    entidad.setID(aux.generaID);   
}
Run Code Online (Sandbox Code Playgroud)

在我的测试中我想做这样的事情:

when(new GeneraIDParaEntidadCliente(anyString(), any(Entidad.class)).thenReturn(generaIdMock)  
Run Code Online (Sandbox Code Playgroud)

但是给我这个错误 org.mockito.exceptions.misusing.InvalidUseOfMatchersException:

知道为什么吗?

Dav*_*ave 8

您可以使用PowerMock来模拟构造函数.

如果由于某种原因无法使用PowerMock,最可行的解决方案是将工厂注入包含此方法的任何类.然后,您将使用工厂创建GeneraIDParaEntidadCliente对象并模拟工厂.