Guava verwendet dies test builder zum Testen von equals
und hashCode
.
toString()
sollte keinen "Vertrag" haben, um zu respektieren, also wäre Unit-Testing komisch und nicht nützlich.
Sie können sich dieses Projekt für equals()
ansehen.
Es gibt auch ein JUnit Addon EqualsHashCodeTestCase
Zum selben Thema:
EqualsVerifier ist eine großartige Bibliothek. Ich kombiniere es oft mit der Reflections -Bibliothek, um automatisch nach bestimmten Klassen zu suchen und das zu testen Vertrag für alle auf einmal:
%Vor%Sie können Apache EqualsBuilder und HashCodeBuilder verwenden, um equals und hashCode zu implementieren und somit das Risiko zu minimieren, dass Sie es nicht richtig machen.
Das Testen von equals ist einfach. Erzeuge zwei Instanzen mit gleichen Instanzwerten (wodurch du erwartest, dass sie gleich sind) und rufe equals für eine Instanz auf, die die andere als Parameter übergibt, und du solltest erwarten, dass sie true zurückgibt: D
Tags und Links java