2017-05-10 8 views
0

Tout en ayant le cas de test unitaire écriture pour la localisation française et tchèque, à fairecas d'essai a échoué avec org.junit.ComparisonFailure

assertThat(formattedDecimal).isEqualTo("8 771,23"); 

formattedDecimal est une chaîne, avait un résultat

org.junit.ComparisonFailure: 
Expected :"8 771,23" 
Actual :"8 771,23" 

pourquoi il a échoué? n'a pas compris, s'il vous plaît guider ce que je fais mal ici !!

+0

Est-ce que 'formattedDecimal' a' String' ou un autre type? Il devrait être un 'String' pour que cette assertion passe, puisque vous le comparez à un' String'. –

+0

formatedDecimal est une chaîne –

+0

OK, utilisez un débogueur pour inspecter la valeur de 'formatedDecimal' pour vous assurer qu'il n'y a pas de caractères inattendus là, par exemple, un espace insécable au lieu d'un espace ordinaire. –

Répondre

0

peut-être votre formattedDecimal, y compris certaines lettres de contrôle qui ne peuvent pas voir dans la console. avez-vous essayé cela?

assertThat("foo\bo").isNotEqualTo("foo");// ok 
      // ^--- it print "foo"    

assertThat(formattedDecimal.getBytes()).isEqualTo("8 771,23".getBytes())