J'ai deux listes d'objets. Ces objets font référence à d'autres objets qui à leur tour contiennent des doubles. Je veux utiliser assertEquals pour tester que les deux objets sont identiques. J'ai vérifié à la main qu'ils le sont, mais assertEquals retourne toujours faux. Je pense que la raison en est que les doubles ne sont pas les mêmes en raison de problèmes de précision. Je sais que je peux résoudre ce problème en explorant les champs doubles et en utilisant assertEquals (d1, d2, delta), mais cela semble lourd. Y at-il de toute façon à fournir un delta à assertEquals (ou une autre méthode), de sorte qu'il peut utiliser ce delta chaque fois qu'il rencontre des doubles à comparer?Junit assertEquals sur les objets à double champ
1
A
Répondre
0
Hamcrest matchers peut rendre cela un peu plus facile. Vous pouvez créer un Matcher
personnalisé (ou FeatureMatcher
- Is there a simple way to match a field using Hamcrest?), puis le composer avec un closeTo
pour tester les doublons, puis utiliser les coupleurs de conteneurs (How do I assert an Iterable contains elements with a certain property?) pour vérifier la liste.
Par exemple, pour vérifier une liste contenant exactement un Thing
, qui a une méthode getValue
retour environ 10
:
Matcher<Thing> thingWithExpectedDouble =
Matchers.<Thing>hasProperty("value", Matchers.closeTo(10, 0.0001));
assertThat(listOfItems, Matchers.contains(thingWithExpectedDouble));
Questions connexes
- 1. JUnit échec assertEquals
- 2. assertEquals (Object [], Object []) dans JUnit?
- 3. Java JUnit assertEquals avec longue
- 4. test junit - assertEquals pour l'exception
- 5. assertEquals entre les objets de chaîne inconvertible et test optionnelle <String> JUnit
- 6. appel de méthode Ambigu Les deux assertEquals (Object, Object) dans Assertion et assertEquals (double, double) en match Assertion:
- 7. Junit: retour de chaîne pour AssertEquals
- 8. Message d'exception personnalisé utilisant JUnit assertEquals?
- 9. Junit continue à échouer dans NetBeans même lorsque AssertEquals (1,1)
- 10. Pourquoi mon assertEquals() est-il obsolète dans JUnit?
- 11. Comapring 2 objets à l'aide JUnit
- 12. JUnit quelle meilleure façon d'utiliser assertEquals entre deux objets sans définir égale méthode
- 13. Comment affirmer deux doubles dans JUnit Utiliser assertEquals avec Epsilon?
- 14. JUnit qui est recommandé assertTrue() ou assertEquals() pour la chaîne?
- 15. JUnit = barre rouge, même si mes assertEquals sont corrects
- 16. Différence de test JUnit entre assertEquals() et Assert.assertEquals()
- 17. FabricJS double-cliquez sur les objets
- 18. jUnit ErrorCollector signale les lignes en double
- 19. AssertEquals sur les listes triées retournant toujours false
- 20. Précision dans assertEquals?
- 21. Junit toString couverture partielle
- 22. Pourquoi mon assertEquals ne fonctionne pas?
- 23. Egalité d'objet dans assertEquals
- 24. JUnit5: Problème de recherche AssertEquals
- 25. Hibernate assertEquals échoue après la persistance des objets
- 26. Comment faire deux objets égaux pour passer assertEquals()?
- 27. Objets saisonniers Objets en double
- 28. Est-ce correct d'utiliser assertTrue sur float et double valeurs dans JUnit?
- 29. Java Junit4: assertEquals pour ArrayList <Double> avec des valeurs attendues de simple précision
- 30. assertEquals Precision