mardi 5 septembre 2017

Mockito - No interactions wanted here exception

i'm writing test for my Spring MVC Controller. I get a org.Mockito.exception.verifications.NoInteractionWanted exception, with this stack trace:

No interactions wanted here: -> at com.test.TestInsertUtente.testInserimentoUtente(TestInsertUtente.java:124) But found this interaction: -> at com.test.UtenteForm.insertUtente(UtenteForm.java:149)

Why?


public class TestInsertUtente {

private MockMvc mockMvc;

@Mock
private UtenteService utenteService;

@InjectMocks
private UtenteForm utenteForm;

@Before
public void setUp() {

    MockitoAnnotations.initMocks(this);
    when(utenteService.insertUtente(isA(Utente.class))).thenReturn(new Utente("utente.test","utente","test","utente@test.com","test",0));

    this.mockMvc = MockMvcBuilders.standaloneSetup(utenteForm).build();
}

@Test
public void testInserimentoUtente() throws Exception {

    mockMvc.perform(post("/all/utente/form/insert/${action}","resta")
            .contentType(MediaType.APPLICATION_FORM_URLENCODED)
            .param("utente", "utente.test")
            .param("nome", "utente1")
            .param("cognome", "test")
            .param("email", "utente@test.com")
            .param("password", "test")
            .param("statoRecord", "0")
            .sessionAttr("utente", new Utente())
    ).andExpect(status().isMovedTemporarily())
    .andExpect(view().name("redirect:/web/all/utente/form/utente.test/modifica"))
    .andExpect(redirectedUrl("/web/all/utente/form/http://ift.tt/2wDqPQr"))
    .andExpect(model().size(2))
    .andExpect(model().attribute("insert", equalTo(true)));

    ArgumentCaptor<Utente> formObjectArgument = ArgumentCaptor.forClass(Utente.class);
    verify(utenteService, times(1)).insertUtente(formObjectArgument.capture());
    verifyNoMoreInteractions(utenteService);

}
}

Aucun commentaire:

Enregistrer un commentaire