Questão nº 51
Questão de Tecnologia da Informação · FCC TRT4 2022 (nº 51)
Para que testes unitários possam ser processados usando Mockito/JUnit, a classe de teste deve estar configurada para tal. Considere o trecho a seguir de código exemplo:
```java
@I(II)
public class PessoaServiceTest
```
Para que esteja correto, as lacunas I e II, do trecho de código, devem ser preenchidas, correta e respectivamente, com
- AMockRunJUnit – RunWith.class
- BMockitoJUnitRunner – RunWith.class
- CRunMock – JUnitRun.class
- DRunWith – MockitoJUnitRunner.class (alternativa correta)
- ERunMockito – $RunWithJunit
Resposta comentada
Gabarito Alternativa D
Para que o JUnit saiba como preparar seu teste para usar funcionalidades do Mockito (como criar objetos "mock" automaticamente), você precisa dizer a ele para usar um "corredor" (runner) especial. Isso é feito com a anotação @RunWith, que aponta para a classe do corredor, que neste caso é o MockitoJUnitRunner.
- (A) Incorreta:
MockRunJUnitnão é uma anotação padrão do JUnit para essa finalidade, eRunWith.classnão é o nome da classe do runner que deve ser passado como argumento. - (B) Incorreta: A anotação correta é
@RunWith, não@MockitoJUnitRunner.MockitoJUnitRunneré a classe do runner que deve ser passada como argumento para@RunWith. Armadilha da banca: Esta alternativa tenta confundir o aluno colocando o nome do runner no lugar da anotação e vice-versa (com um erro na segunda parte), explorando o conhecimento parcial de queMockitoJUnitRunneré importante. - (C) Incorreta:
RunMockeJUnitRun.classnão são anotações ou classes padrão usadas para configurar testes JUnit com Mockito. - (D) Correta: A anotação
@RunWithé a forma padrão do JUnit de especificar um "runner" de teste. OMockitoJUnitRunner.classé o runner específico do Mockito que inicializa os mocks e outras funcionalidades do Mockito antes da execução dos testes. - (E) Incorreta:
RunMockitonão é uma anotação válida para essa configuração, e$RunWithJunitnão é uma sintaxe ou classe reconhecida.
Fonte: FCC TRT4 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.