2016-11-02 9 views
1

bearbeiten II

Grundsätzlich ist die Frage, ob es eine AssertJ (bevorzugt) oder JUnit Behauptung für:Assert Identität mit AssertJ oder JUnit

objA == objB 

Edit I

Meine Klasse unter Test (CUT) erweitert JAXBs XmlAdapter. Beim Entpacken einer XML-Datei sollte sichergestellt werden, dass gleiche Objekte genau einmal vorhanden sind. Um dies zu überprüfen, mein Test sieht derzeit wie folgt aus (in diesem Beispiel die Standard Ctor schafft gleiche Objekte):

MyType obj = cut.unmarshal(new MyType()); 
assertThat(cut.unmarshal(new MyType()) == obj).isTrue(); 

Gibt es eine Möglichkeit Identität mit AssertJ oder JUnit explizit zu behaupten?

Original-Beitrag

Meine Klasse unter Test (CUT) hat ein Verfahren (z foo), die gewährleisten sollen, dass die zurückgegebenen Objekte-die gleich existieren genau einmal. Derzeit verwende ich die folgende Anweisung assert:

assertThat(cut.foo() == obj).isTrue(); 

Gibt es eine Möglichkeit, um explizit Identität zu behaupten mit AssertJ oder JUnit?

+0

Was meinen Sie mit „Objekt nur einmal existiert“. Irgendwelche Bezugspunkte auf ein einzigartiges Objekt ?! Meinst du: foo() sollte jedes Mal ein ** anderes ** Objekt zurückgeben, wenn du es nennst ?! – GhostCat

+0

@GhostCat Gleiche Objekte sollten genau einmal existieren. – beatngu13

+0

Es kann nicht bestätigt werden, dass eine andere Kopie nicht in einer anderen Ecke der JVM vorhanden ist. – chrylis

Antwort

3

Wenn Sie AssertJ verwenden, können Sie die isSameAs Methode verwenden, Objektidentität vergleichen:

assertThat(cut.foo()).isSameAs(obj); 
Verwandte Themen