Questão nº 47

Questão de Tecnologia da Informação · FGV TJ-SE Servidor 2023 (nº 47)

FGV2023Técnico Judiciário - Programação de SistemasTecnologia da Informação
Gabarito: Dver comentário ↓

O analista de sua empresa solicitou um teste, com base em JUnit 5, para uma função de leitura de valores inteiros a partir de um socket. Esse teste deve abrir a conexão, verificar um lote de 30 valores recebidos e fechar a conexão ao final.
Para criar o teste, uma das ações necessárias é:

Resposta comentada

Gabarito Alternativa D

As anotações de ciclo de vida do JUnit 5 (@BeforeAll, @AfterAll, @BeforeEach, @AfterEach) servem para configurar recursos (como abrir uma conexão) antes dos testes e liberá-los (como fechar uma conexão) depois.

  • (A) Incorreta: fail() é um método de asserção que falha um teste explicitamente; não é usado para gerenciar o ciclo de vida de recursos como uma conexão.
  • (B) Incorreta: @AfterClass é uma anotação do JUnit 4. No JUnit 5, a anotação equivalente é @AfterAll, e ela é usada para fechar recursos depois de todos os testes da classe, não para abrir a conexão.
  • (C) Incorreta: Não existe uma asserção padrão do JUnit 5 chamada assertInteger. As asserções são genéricas (ex: assertEquals, assertTrue) e esta alternativa descreve como testar, não como gerenciar a conexão.
  • (D) Correta: A anotação @AfterAll no JUnit 5 é executada uma única vez, depois que todos os métodos de teste da classe foram executados. É o local ideal para fechar uma conexão que foi aberta para ser usada por todos os testes da classe, garantindo que o recurso seja liberado "ao final", como solicitado.
  • (E) Incorreta: @BeforeEach é executado antes de cada método de teste individual. A conexão deve ser fechada ao final de todos os testes da classe, não antes de cada um, e esta anotação é para configuração (setup), não para encerramento (teardown). A armadilha aqui é confundir a necessidade de fechar a conexão uma vez ao final com uma ação que ocorre antes de cada teste, ou pensar que "testar o valor" é uma ação de setup. O método que testa o valor é o próprio @Test, e @BeforeEach prepara o ambiente para ele.

Fonte: FGV TJ-SE Servidor 2023 Técnico Judiciário - Programação de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho