Je veux me moquer d'un constructeur en méthode.
public String generaID() {
GeneraIDParaEntidadCliente aux = new GeneraIDParaEntidadCliente(nombre, registro);
entidad.setID(aux.generaID);
}
Dans mon test, je veux faire quelque chose comme ça:
when(new GeneraIDParaEntidadCliente(anyString(), any(Entidad.class)).thenReturn(generaIdMock)
mais donnez-moi cette erreur org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Une idée pourquoi?
Vous pouvez utiliser PowerMock pour simuler des constructeurs.
Si vous ne pouvez pas utiliser PowerMock pour une raison quelconque, la solution la plus pratique consiste à injecter une fabrique à la classe contenant cette méthode. Vous utiliseriez ensuite la fabrique pour créer votre objet GeneraIDParaEntidadCliente
et pour vous moquer de la fabrique.
Il y a plusieurs façons de le faire, décrites dans mon article sur le wiki Mockito
vous pouvez envoyer des objets fictifs en tant que paramètres à votre constructeur de classe, exemple de formulaire:
// define you object
public MainClassObj instanceClass;
// mock input parameter
MYClassObj mockedObj = Mockito.mock(MYClassObj.class);
// call construvtor with mocked parameter
instanceClass = new instanceClass(mockedObj);