Questão nº 51

Questão de Tecnologia da Informação · FCC TRT-20 2016 (nº 51)

FCC2016Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Bver comentário ↓

Em um método de uma classe de teste JUnit deseja-se testar o método estático chamado multiplica da classe Vetores. Para verificar se a saída desse método será 39 quando ele receber como parâmetro os arrays de números inteiros {3,4} e {5,6} utiliza-se a instrução

Resposta comentada

Gabarito Alternativa B

Em testes JUnit, usamos métodos de asserção (como assertEquals) para verificar se o resultado de uma operação (o valor atual) corresponde ao que esperamos (o valor esperado).

  • (A) Incorreta: O método multiplica é estático e pertence à classe Vetores, então deveria ser chamado como Vetores.multiplica(...). Além disso, o resultado de multiplica é um número inteiro (int), que não possui um método .assertEquals(). A sintaxe new int{ 3, 4} para criar um array também está incorreta; o correto seria new int[] { 3, 4}.
  • (B) Correta: Esta é a forma padrão de realizar uma asserção de igualdade no JUnit. O primeiro argumento de assertEquals é o valor esperado (39), e o segundo é o valor atual, que é o resultado da chamada ao método estático Vetores.multiplica com os parâmetros corretos (new int[] { 3, 4} e new int[] { 5, 6}).
  • (C) Incorreta: Não se pode chamar .assertTrue() diretamente em uma referência ao método Vetores.multiplica. assertTrue é um método de asserção que recebe um booleano. A sintaxe para criar o array está errada (new int{ 3, 4}), e encadear .assertEquals(39) após assertTrue também não faz sentido, pois assertTrue não retorna um objeto que tenha esse método.
  • (D) Incorreta: O método assertFalse é usado para verificar se uma condição é falsa, não para comparar um valor esperado com um valor atual diretamente dessa forma. A chamada Vetores.multiplica.assertFalse está incorreta, e a forma de passar os argumentos (new int[] { 3, 4}, new int[] { 5, 6}) é uma sintaxe inválida em Java para esse contexto.
  • (E) Incorreta: A chamada ao método estático multiplica deve ser precedida pelo nome da classe (Vetores.multiplica). Assim como na alternativa D, assertTrue não é usado para comparar um valor numérico esperado com o resultado de uma função dessa maneira, e a sintaxe dos argumentos é inválida.

Fonte: FCC TRT-20 2016 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (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