Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Teste viciado ou uma boa pratica?

Fazer com que o código de teste já calcule os resultados é uma má pratica ou gera teste 'viciados' ? Ou sempre temos que calcular a resposta em cima do salario. Fazendo com que toda vez eu tenha que fazer a conta em calculadora arredondar e afins para passar o resultado exato?

@Test
    void SeDesempenhoForMedianoAcrescimoDe3PorCento() {
        ReajusteService reajuste = new ReajusteService();
        BigDecimal salarioTeste = new BigDecimal("1000.0");
        BigDecimal salarioReajuste = new BigDecimal("1.03");

        Funcionario func = new Funcionario("vitor", LocalDate.now(),salarioTeste);
        reajuste.concederReajuste(func, Desempenho.MEDIANO);

        assertEquals(salarioTeste.multiply(salarioReajuste).setScale(2,RoundingMode.HALF_UP), func.getSalario());
    }
1 resposta
solução!

Oi Vitor,

Não é considerado má prática, pois o teste precisa saber os valores de entrada(input) e também os valores de saída(resultados), para cada cenário.

Sendo que os valores dos resultados podem ser calculados na hora, ou ficar fixo em constantes, por exemplo.

Bons estudos!