Einheitentests für Hashcode-, equals- und toString-Methoden generieren

8

Gibt es ein Tool / eine Bibliothek, die automatisch die Tests für meinen Hashcode generieren kann und Methoden entspricht, die nach den Instanzvariablen suchen, die an diesen Methoden beteiligt sind?

    
Mangoose 17.05.2012, 09:28
quelle

4 Antworten

6

Guava verwendet dies test builder zum Testen von equals und hashCode .

    
Louis Wasserman 17.05.2012, 09:51
quelle
3

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:

Colin Hebert 17.05.2012 09:31
quelle
1

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%     
walkeros 19.04.2017 12:03
quelle
-1

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

    
Mehul Lalan 17.05.2012 10:44
quelle

Tags und Links