Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

É possível não mexer no construtor da classe que é testada para injetar um Mock?

Boa tarde,

A estratégia usada nas aulas, quando uma classe que deve ser testada e que esta mesma classe necessita de outras que são injetadas usando @Autowired, tem sido a modificação do construtor para possibilitar a injeção das dependência com os Mocks. Existe outra possibilidade para fazer a injeção dos Mocks sem passar os Mocks construtor?

Abs

2 respostas
solução!

Oi Rogerio,

Tem como sim!

Exemplo:

@ExtendWith(MockitoExtension.class)
class FinalizarLeilaoServiceTest {

    @InjectMocks
    private FinalizarLeilaoService service;

    @Mock
    private LeilaoDao leilaoDao;

    @Mock
    private EnviadorDeEmails enviadorDeEmails;

    //nao precisa mais do metodo com @BeforeEach
}

O @InjectMocks já instancia a classe e injeta os mocks diretamente na classe.

Bons estudos!

Muito melhor. Obrigado!!!