Olá pessoal, venho hoje pedir ajuda de vocês com a questão abaixo e quem sabe gerar material para quem enfrentar o mesmo erro no futuro porque até agora não achei nada no Google que ajude.
Estou tentando testar uma classe usando JUnit e Mockito.
Eis a classe que está sendo testada:
public class ClasseQueEstaSendoTestada {
private final ExemploInterfaceRepository exemploInterfaceRepository;
private TipoDeRetorno metodoQueEstaSendoTestado(ObjetoQueSeraPersistido objetoQueSeraPersistido) {
exemploInterfaceRepository.save(objetoQueSeraPersistido);
}
}
Agora, eis a classe de teste que está testando a classe acima:
public class ClasseDeTeste {
@InjectMocks
private ClasseQueEstaSendoTestada classeQueEstaSendoTestada;
@Mock
private ExemploInterfaceRepository exemploInterfaceRepository;
@BeforeEach
private setUp() {
MockitoAnnotations.initMock(this);
}
@Test
public void devePersistirObjetoQueSeraPersistido() {
ObjetoQueSeraPersistido objetoQueSeraPersistido = new ObjetoQueSeraPersistido();
doNothing().when(exemploInterfaceRepository).save(any());
classeQueEstaSendoTestada.metodoQueEstaSendoTestado(objetoQueSeraPersistido)
}
}
O problema é o seguinte, o exemploInterfaceRepository
no trecho abaixo está null
e com isso estou recebendo uma NullPointerException.
doNothing().when(exemploInterfaceRepository).save(any());
Pelo que entendi o mock de exemploInterfaceRepository
não está funcionando, mas não consegui entender o porque. Se alguém puder me ajudar eu ficaria muito grato
Desde já agradeço!