← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

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 é:

Gabarito: D

No JUnit 5, a ideia é organizar o teste em etapas bem claras: preparar o ambiente, executar a verificação e, por fim, limpar tudo. Quando o teste envolve recurso externo, como socket, isso fica ainda mais importante, porque deixar conexão aberta é convite para problema, travamento e sujeira no ambiente de teste. Em outras palavras: abriu, testou, fechou. Simples e elegante. Neste caso, o enunciado pede um teste que abre a conexão, confere um lote de 30 valores recebidos e encerra a conexão ao final. O ponto-chave está justamente no encerramento do recurso. Em JUnit 5, o método que deve ser executado depois de todos os testes da classe é anotado com @AfterAll, que é a anotação adequada para fazer a limpeza final. Por isso, o gabarito é a letra D. Fechar a conexão em um método com @AfterAll garante que isso ocorra após a execução de todos os testes daquela classe, o que é perfeito para recursos compartilhados como socket. Como lembrete, em JUnit 5, @AfterAll substitui a antiga ideia de encerramento global do JUnit 4 com @AfterClass, mas agora dentro da sintaxe nova da plataforma JUnit Jupiter.

Continue treinando

Questões relacionadas