J-Unit vergleich von 2 Objekten merkwürdig

phraid

Mitglied
Hallo zusammen,

folgender Hintergrund: Es existiert eine Methode die aus Datenbankinhalten ein Objekt erzeugt, welches einfach bestimmte Werte der Datenbank als Attribute enthält.
Eine weitere Instantz des gleichen Objekts mit den gleichen Werten wird von mir manuell erzeugt.
Beim Vergleichen der beiden Objekte mittels assertEquals(Object, Object) in JUnit bringt mir aber ein Fehler, nämlich:
"junit.framework.AssertionFailedError: expected:<de.tud.tk.packet.Entry@6acd5f8b> but was:<de.tud.tk.packet.Entry@513bd574>"

Ich habe sicherheitshalber alle Attribute des Objekts über Getter Methoden überprüft und die stimmen überein. Was kreidet JUnit mir hier an und wie könnte ich das Problem lösen?

mfG
 

ocoal

Mitglied
Falls Du keine equals() Methode implementiert hast, solltest Du dies nachholen.

Die meisten größeren Entwicklungsumgebungen/IDE (wie z.B. Eclipse oder Netbeans) bieten Dir hierfür sogar kleine Helferfunktionen an.

Wenn Du dann schon dabei bist, equals() zu implementieren (bzw. zu überschreiben), dann kannst Du auch gleich hashCode() mit implementieren.

Hier noch ein kleines Tutorial mit Hintergrundinformationen zu den Vergleichsmethoden:

-Colin-
 
N

nillehammer

Gast
Warum? Wenn es der Produktiv Code nicht erfordert equals und hashcode zu überschreiben, dann würde ich es auch nicht tun.
Bei Klassen mit Value-Semantik (wie z.B. welche, die in einer Datenbank gespeichert werden) sollten equals und hashCode immer überschrieben werden. Auch wenn man es aktuell selbst nie aufruft, spätestens, wenn Instanzen solcher Klassen in Sets landen solllen, braucht man es.
 
M

maki

Gast
Was Wilcard sagte war: Wenn es der Prod. Code nicht braucht, dann soll man es nicht nur für einen Test in den Prod. Code hinzufügen ;)

Test Logic in Production at XUnitPatterns.com

Sicherlich, equals & hashcode braucht man häufig, aber eben nicht immer. Vor allem ist aber ein vergleich im Prod Code nicht immer genau das was ein Vergleich im Testcode ist, CustomAssertions sind flexibel und "verunreiningen" den Prod Code nicht.

Custom Assertion at XUnitPatterns.com
 
B

bygones

Gast
Was Wilcard sagte war: Wenn es der Prod. Code nicht braucht, dann soll man es nicht nur für einen Test in den Prod. Code hinzufügen ;)

Test Logic in Production at XUnitPatterns.com

Sicherlich, equals & hashcode braucht man häufig, aber eben nicht immer. Vor allem ist aber ein vergleich im Prod Code nicht immer genau das was ein Vergleich im Testcode ist, CustomAssertions sind flexibel und "verunreiningen" den Prod Code nicht.

Custom Assertion at XUnitPatterns.com
auch wenn es sehr offtopic ist: UCDetector ist ein tolles eclipse tool um u.a. code aufzuspueren der nur von tests aufgerufen wird....

Bei Klassen mit Value-Semantik (wie z.B. welche, die in einer Datenbank gespeichert werden) sollten equals und hashCode immer überschrieben werden. Auch wenn man es aktuell selbst nie aufruft, spätestens, wenn Instanzen solcher Klassen in Sets landen solllen, braucht man es.
wie du selbst richtig sagst, "spaetestens, wenn". D.h. dann kannst du das noch hinzufuegen. Fuege NIE code hinzu der aktuell nicht gebraucht wird. Das Argument dass man es aber bestimmt wann anders mal brauchen wird ist nichtig.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Checkliste Unit Test Allgemeine Java-Themen 17
Y Wieso krieg ich die Unit Tests nicht hin Allgemeine Java-Themen 55
Y Wie sinnvolle unit tests schreiben Allgemeine Java-Themen 29
sascha-sphw Erste Schritte Unit und Integration-Tests im Java Modul System Allgemeine Java-Themen 10
B Frage zu Unit-Tests Allgemeine Java-Themen 6
J Alle Unit Tests in Maven Modul Projekt ausführen Allgemeine Java-Themen 7
looparda Unit Test - Abgänigkeit zur Datenbank isolieren Allgemeine Java-Themen 3
R Unit Test Allgemeine Java-Themen 1
M Für was schreibt man Unit-Tests? Allgemeine Java-Themen 55
G ThreadLocal in Muster "Unit of Work" Allgemeine Java-Themen 7
K Unit Test consolen ein-/ausgaben. Allgemeine Java-Themen 7
M Html Unit Whitespace-Problem Allgemeine Java-Themen 4
fastjack Unit-Testen mit Mocks Allgemeine Java-Themen 6
Jay_030 Guice: Frage im Umgang mit Unit-Tests Allgemeine Java-Themen 4
B FileWriter / FileReader testen / Mock-Objekt für Unit Tests? Allgemeine Java-Themen 6
S Unit Testing mit JMock Allgemeine Java-Themen 11
alexpetri unit tests für pdfs Allgemeine Java-Themen 4
B J-Unit Tests. Alle Tests eines Package einsammen. Allgemeine Java-Themen 4
tfa Unit-Tests für private Methoden Allgemeine Java-Themen 25
W Unit Tests im "Hauptprojekt" oder in Modulen Allgemeine Java-Themen 3
M Eine Frage über Unit-Tests mit Java Allgemeine Java-Themen 2
N Ausgaben (System.out) umlenken und in Unit-Tests überprüfen? Allgemeine Java-Themen 2
Neumi5694 double Vergleich Allgemeine Java-Themen 19
M Vergleich C# und Java Allgemeine Java-Themen 24
D Vergleich OracleJDK/OpenJDK Allgemeine Java-Themen 7
T Komplexitätsoptimierung String vergleich Allgemeine Java-Themen 4
T If Vergleich ergibt nicht das richtige Ergebnis Allgemeine Java-Themen 2
K Vergleich von Strings von Objekten Allgemeine Java-Themen 4
E Problem mit Array vergleich Allgemeine Java-Themen 4
M Vergleich (unscharf) von Screenshots Allgemeine Java-Themen 0
L Vergleich-Xml-Daten Allgemeine Java-Themen 3
S BufferedImage vergleich mit Subimage Allgemeine Java-Themen 1
Z Vergleich zwischen int und Object Allgemeine Java-Themen 1
M Datums vergleich klappt überhaupt nicht.. Allgemeine Java-Themen 4
S Calendar vergleich Allgemeine Java-Themen 2
G Zeilenweiser Vergleich Allgemeine Java-Themen 10
E Vorschläge, effizientes Hashing von Dateien für vergleich Allgemeine Java-Themen 7
W Vergleich eines Datenträgers auf neue Dateien Allgemeine Java-Themen 14
C Vergleich von Enums gibt inkorrekte Werte Allgemeine Java-Themen 6
N Input/Output Vergleich von identischen Strings schlägt fehl Allgemeine Java-Themen 5
N Vergleich eigener Klassen Allgemeine Java-Themen 5
K GUI-Button Inhalte vergleich - TicTacToe Grundriss Allgemeine Java-Themen 11
N Vergleich von generischen Typen Allgemeine Java-Themen 2
S String-Vergleich in if Allgemeine Java-Themen 7
P JNA - JNI - pures Java - Vergleich Allgemeine Java-Themen 6
I Vergleich zweier Felder Allgemeine Java-Themen 3
M Vergleich von TreeSet<HashSet>^2 Allgemeine Java-Themen 8
F Vergleich zweier Listen Allgemeine Java-Themen 4
U Java Performance im Vergleich zu C++ in speziellem Anwendungsfall Allgemeine Java-Themen 6
D Was ist schneller? Zuweisung oder Vergleich? Allgemeine Java-Themen 18
O String NICHT vergleich Allgemeine Java-Themen 7
G Vergleich von .jpg Dateien Allgemeine Java-Themen 2
I vergleich und zählen von Strings Allgemeine Java-Themen 7
K Vergleich von Icons . Allgemeine Java-Themen 8
N vergleich mit while und for schleife Allgemeine Java-Themen 7
M Vergleich im geordeten Vector und Methodenaufruf Allgemeine Java-Themen 2
minzel String in String (Vergleich) Allgemeine Java-Themen 2
J vergleich zweier datenstrukturen Allgemeine Java-Themen 6
P Vergleich: Java - .net Allgemeine Java-Themen 5
T Vergleich von Tastatureingabe mit dem was in der Datei steht Allgemeine Java-Themen 21
N Split -> IF-String vergleich Allgemeine Java-Themen 5
N Vergleich zweier Hashtable / mehrere Enumerations Allgemeine Java-Themen 7
C Performance Vergleich, Java vs. Tcl/Tk Allgemeine Java-Themen 3
B bit vergleich oder regex Allgemeine Java-Themen 1
Zrebna Wieso sollte man Null-Prüfungen nicht mit Optional-Objekten nutzen? Allgemeine Java-Themen 13
B Sent and Receive Funktionen zwischen Objekten ermöglichen? Allgemeine Java-Themen 8
A Objekt aus anderen Objekten machen Allgemeine Java-Themen 8
PCOmega137 Objekten zufällig erzeugte Namen geben Allgemeine Java-Themen 2
T Speichern von Objekten Allgemeine Java-Themen 2
D Serialisierung und Deserialisierung von Objekten - Frageprogramm Allgemeine Java-Themen 4
M Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen? Allgemeine Java-Themen 15
M loeschen von objekten Allgemeine Java-Themen 22
S Parametrisierte jUnit 5-Tests mit eigenen Datentypen/Klassen-Objekten als Test-Parameter Allgemeine Java-Themen 0
F Best Practice Große Anzahl an Objekten speichern und lesen Allgemeine Java-Themen 19
M Array aus Thread Objekten erstellen Allgemeine Java-Themen 2
B Endlosschleife beim Verteilen von Objekten Allgemeine Java-Themen 4
L Von ArrayList abgeleitete Klasse nur mit bestimmten Objekten füllen Allgemeine Java-Themen 1
D Verwaltung von sehr vielen Objekten Allgemeine Java-Themen 12
G problem: array aus objekten Allgemeine Java-Themen 10
H Liste von Objekten generisch sortieren Allgemeine Java-Themen 0
S Zur Laufzeit Klasse mit einer anzahl von X Objekten erstellen Allgemeine Java-Themen 5
B OOP Auf Zustandsänderungen von Objekten reagieren Allgemeine Java-Themen 2
H Best Practice zu vielen konstanten Objekten? Allgemeine Java-Themen 10
M 3D-Grafik Probleme beim drehen von Objekten Allgemeine Java-Themen 9
A Sinnvolles Software Design bei Eigenschaftsänderungen von Objekten Allgemeine Java-Themen 7
J Java-Implementierung diverser Beziehungen zwischen Klassen bzw. Objekten Allgemeine Java-Themen 2
S Threads Liste mit Objekten in Teillisten zerlegen und abarbeiten Allgemeine Java-Themen 3
Landei Guice - Injection von "zwischendurch" erzeugten Objekten Allgemeine Java-Themen 4
S Sortieren nach Objekten Allgemeine Java-Themen 13
T Liste mit GregorianCalendar-Objekten in List einlesen, mit Collection sortieren und ausgeben Allgemeine Java-Themen 3
D Von mehreren Objekten eine Eigenschaft abfragen Allgemeine Java-Themen 11
G Array mit neuen Objekten der selben Klasse füllen Allgemeine Java-Themen 2
S Eine Collection von Objekten mit LDAP Syntax filtern Allgemeine Java-Themen 5
M Schnittmenge von Objekten Allgemeine Java-Themen 3
N Performates lesen von Objekten aus Dateien Allgemeine Java-Themen 2
hdi Speichergröße von Objekten & Referenzen Allgemeine Java-Themen 8
hdi JTable: Sortierung von Date-Objekten Allgemeine Java-Themen 4
C ArrayList (mit Objekten) sortieren Allgemeine Java-Themen 12
C TreeSet mit Objekten befüllen Allgemeine Java-Themen 12
L Lesen von Objekten aus Datei Allgemeine Java-Themen 17

Ähnliche Java Themen

Neue Themen


Oben