Estou tendo um problema com junit
acredito ser com os import’s porém não sei ao certo qual devo importa, meu AssertEquals
esta depreciado dando erro. No exmplo que vi não tem o segundo import porém se eu retirar da erro na anotação @Test
depreciado não quer dizer que é um erro é apenas que esse método não deve ser mais usado, mais ainda funciona.
você pode usar assim agora:
Assert.assertEquals();
Ola @Marcio3d,
sim este método esta mesmo deprecated, na lista dos equals são 4:
@Deprecated
public static void assertEquals(String message, Object[] expecteds, Object[] actuals);
@Deprecated
public static void assertEquals(String message, double expected, double actual);
@Deprecated
public static void assertEquals(double expected, double actual);
@Deprecated
public static void assertEquals(Object[] expecteds, Object[] actuals);
também odeio esses warnings pela aplicação o que você pode fazer é usar um que tem o delta que nada mais é do que uma margem de erro, ex:
assertEquals(200.0, cc.getSaldo(), 0.1);
porém cuidado, porque assim você esta dizendo que 200.0 é igual a 200.1, acredito que isto faça todo sentido porque você esta trabalhando com pontos flutuantes, ex: poderia ser 200.12345 ou 200.12 ou 200.0, mas se não desejar ter uma margem de erro você pode usar como valor para um delta 0.0 assim você tera a equivalência equal, abraços.
O problema de se trabalhar com doubles é que eles nao tem a precisao que se espera.
Um exemplo simples é que 1.1 + 1.1 + 1.1 é diferente de 3.3, que seria o esperado.
Esses métodos foram marcados como deprecated para que as pessoas fiquem atentas a essa diferença.
Aliás, é por isso que é uma péssima idéia usar double ou float para armazenar valores, como está fazendo no exemplo.
Use long, BicDecimal ou cria sua própria classe Dinheiro para fazer isso.