Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Testando e Debugando sua aplicação - Rodando o JUnit

Pessoal, não entendi as duas ultimas linhas, inclusive fiz alguns testes a fim de entender mas acabei tendo que recorrer ao fórum.

As linhas são as seguintes:

No código abaixoo gastosGrandes.size() retornou 1, pois, deve retornar a quantidades de itens nessa lista. Mas o que o assertEquals faz pra julgar que o meu código está correto ou não?

  assertEquals(1, gastosGrandes.size());

Nessa segunda linha, descobri lendo os comentários de outra dúvida daqui do fórum que disseram que o argumento 0.00001 é um parâmetro para margem de erro.

  assertEquals(150.0, gastosGrandes.get(0).getValor(), 0.00001);

Mas afinal de contas onde está checando se meu programa está realizando as verificações dos limites corretamente?

Acredito que tenha a ver com o JUnit, assunto nunca estudado até esse momento da carreira java junior.

4 respostas
solução!

Fala aí Bruno, blz?

Então o assertEquals(1, gastosGrandes.size()); só está garantindo que o retorno de gastosGrandes.size() tem que ser 1. Do contrário seu teste irá falhar.

Nesse caso o assertEquals(150.0, gastosGrandes.get(0).getValor(), 0.00001); só está garantindo que o valor do primeiro elemento de gastosGrandes é 150.00. O valor 0.00001 é por conta da diferenças de arredondamentos (margem de erro).

Espero ter ajudado e bons estudos.

Então quando se usa o assertEquals(parametro1, parametro 2)... Quer dizer que o parametro1 é o valor que espero retornar e parametro2 é a variável ou retorno do método que estou recebendo?

Daí o JUnit por meio desse assertEquals verifica se o código está retornando o valor esperado ou não? Que serve de base para identificar erros?

Exatamente Bruno.

O Junit só irá verificar se depois de algum processamento o resultado esperado é o mesmo do resultado processado.

Obrigado Fernando, me esclareceu bastante!