Questão nº 55
Questão de Tecnologia da Informação · FGV ALEP 2024 (nº 55)
O trecho código a seguir mostra um trecho de um sistema de biblioteca digital feita em JAVA e também o código de testes unitários com JUnit para as funções de inserção e remoção.

Considerando que a lista de livros da biblioteca esteja vazia, o código de execução de testes unitários testLista garante que a lista de livros
- Afica vazia mesmo após inserção.
- Bvolta a ser vazia após inserção e remoção. (alternativa correta)
- Cnão gera erro ao remover um livro que não existe.
- Dnão remove o livro após ser inserido.
- Etem um conteúdo incerto que não pode ser determinado.
Resposta comentada
Gabarito Alternativa B
Testes unitários (JUnit) são como pequenos experimentos que verificam se uma parte específica do código (um método, por exemplo) funciona corretamente, comparando o resultado obtido com o resultado esperado.
- (A) Incorreta: Após a inserção do livro (
biblioteca.inserirLivro(livro1);), a lista de livros não fica vazia; ela passa a conter um livro, o que é verificado pela asserçãoassertEquals(1, biblioteca.getNumeroTotalDeLivros());. - (B) Correta: O teste começa com uma lista vazia, insere um livro e, em seguida, remove o mesmo livro. A última asserção,
assertEquals(0, biblioteca.getNumeroTotalDeLivros());, garante que, após essa sequência de inserção e remoção, a lista de livros da biblioteca volta a ficar vazia. - (C) Incorreta: O teste remove
livro1, que acabou de ser inserido, ou seja, um livro que existe na biblioteca. Ele não testa o cenário de remover um livro que não está presente na lista. A armadilha aqui é inferir que o teste cobre um caso de uso que não está explicitamente sendo testado. - (D) Incorreta: O teste explicitamente chama
biblioteca.removerLivro(livro1);e, em seguida, verifica que o número total de livros é 0, o que indica que o livro foi removido com sucesso. - (E) Incorreta: O conteúdo da lista é determinado e verificado pelas asserções (
assertEquals) em pontos específicos do teste. Se o teste passar, o estado da lista é conhecido e não incerto.
Fonte: FGV ALEP 2024 Analista Legislativo - Desenvolvedor de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.