SóProvas


ID
2524447
Banca
FCC
Órgão
DPE-RS
Ano
2017
Provas
Disciplina
Programação
Assuntos

Considere a classe Java abaixo.


public class Teste {

public double calculo(double a, double b, double c){

return (a+b)/c;

}

}


Considere que em uma classe JUnit para testar o método calculo da classe Teste.java, foi criado o método testCalculo mostrado abaixo.


@Test

public void testCalculo() {

System.out.println("calculo");

double x = 10.0;

double y = 8.0;

double z = 1.0;

Teste instance = new Teste();

double e = 15.0;

double r = instance.calculo(x, y, z);

assertEquals(e, r, 0.0);

}


Considerando que os testes estejam sendo realizados em um ambiente Java em condições ideais, pode-se afirmar corretamente que o teste implementado no método testCalculo

Alternativas
Comentários
  • O gabarito é a letra E. Analisando as demais alternativas:

     

    A - O método assertEquals trabalha com 2 parâmetros: valor esperado e valor retornado. 

    B - Não precisam ter o mesmo nome. 

    C - Não há parâmetro de mensagem no método assertEquals.

    D - O método precisa ser anotado com @Test. 

  • Avaliando o código e observando que toda a sintaxe está correta, o x da questão é conhecer o objetivo do comando  "assertEquals".

    No caso da questão, o comando assertEquals(e, r, 0.0) está comparando os valores das variáveis "e" e "r" são iguais. Por esse motivo o teste irá falhar, pois a variável e deveria conter o valor 18.0 e não 15.0, como está.

  • o 0.0 (último parametro em assertEquals) se refere ao delta, "margem de erro" ou limite de diferença para considerar dois valores aceitaveis como iguais dentro do teste.

    No caso o limite foi reduzido a zero fazendo com que a comparação fosse estrita.

     

    http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertEquals(double, double, double)

  • O gabarito é a letra E.

    Porém a questão deveria ser anulada, pois o comando "assertEquals(e, r, 0.0);" espera um valor positivo na terceira variavél conforme saida do console abaixo:

    AssertionFailedError: positive delta expected but was: <0.0>