Questão FC373956
Utilizando o Mockito, um Analista verificou que uma das anotações que podia utilizar era criar uma instância de uma classe que se pode “mockar” ou chamar os métodos reais a qual pe
Testes de Software
FCC · 2022
Utilizando o Mockito, um Analista verificou que uma das anotações que podia utilizar era criar uma instância de uma classe que se pode “mockar” ou chamar os métodos reais a qual permite que se verifique se um método chama outros métodos. Bastante útil ao tentar colocar o código legado em teste. É uma alternativa ao uso do @InjectMocks, quando é preciso “mockar” métodos da própria classe que está sendo testada.
Trata-se de
- @When
- @Verify
- @Matchers
- @Spy
- @Mock
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
@Spy cria um espião sobre uma instância real: por padrão os métodos chamam a implementação verdadeira, mas você pode substituir (stub) comportamentos específicos. Isso permite fazer partial mocking — manter parte da lógica real e simular apenas trechos necessários.
É muito útil para testar código legado ou quando é preciso verificar se um método da própria classe invoca outros métodos internos, sem perder a execução de comportamento legítimo.
Inicialização: use MockitoAnnotations.openMocks(this), @ExtendWith(MockitoExtension.class) ou Mockito.spy(obj). Para verificar interações, funciona com os métodos de verificação do Mockito (por ex. verify).
Atenção: como os métodos reais são executados, podem ocorrer efeitos colaterais — stub os métodos que causariam dependências externas ou estados indesejados.
Conteúdo do catálogo FC Concursos · Atualizado em