ho incontrato un problema strano con l'unità di testare la seguente chiamata cliente Maglia:Maglia/Mockito: NullInsteadOfMockException sulla verifica chiamata client.post
PostBody è un MultivaluedMap.
provaL'unità verifica bene le accept
e type
chiamate, ma non riesce sul post
quello con questa eccezione:
org.mockito.exceptions.misusing.NullInsteadOfMockException:
Argument passed to verify() should be a mock but is null!
Ecco il codice di prova:
_client = Mockito.mock(Client.class);
_webResource = Mockito.mock(WebResource.class);
_builder = Mockito.mock(WebResource.Builder.class);
_response = Mockito.mock(ClientResponse.class);
Mockito.when(_client.resource(Mockito.anyString())).thenReturn(_webResource);
Mockito.when(_response.getEntity(Mockito.any(Class.class))).thenReturn(new RefreshTokenDto());
Mockito.when(_response.getStatus()).thenReturn(200);
Mockito.when(_builder.post(Mockito.eq(ClientResponse.class), Mockito.anyObject())).thenReturn(_response);
Mockito.when(_builder.type(Mockito.anyString())).thenReturn(_builder);
Mockito.when(_webResource.accept(Mockito.anyString())).thenReturn(_builder);
RefreshTokenDto response = _clientWrapper.exchangeAuthorizationCodeForToken(_token);
Assert.assertNotNull(response);
Mockito.verify(_client.resource(_baseUrl + "token"));
Mockito.verify(_webResource.accept("application/json"));
Mockito.verify(_builder.type("application/x-www-form-urlencoded"));
// TODO: this line throws NullRefExc for some unknown reason
Mockito.verify(_builder.post(Mockito.any(Class.class), Mockito.any(MultivaluedMap.class)));
Riesci a vedere qualcosa di sbagliato in questo codice?
Ehi - questo risolve davvero il problema! Ho confuso la sintassi per 'when' e' verify'. Ho guardato questo codice da ieri e non sono riuscito a capire cosa c'era che non andava. Probabilmente mostra che sono nuovo di Mockito. Grazie per l'aiuto! –
Nessun problema. Buona fortuna per il tuo apprendimento continuo, Joanna. –