Ich habe zwei Objekte A
und B
. Objekt A
ist das tatsächliche Ergebnis, das ich während des JUnit-Tests erhalte. Objekt B
Ich mache einen tatsächlichen End-DB-Aufruf und nehme wie erwartet die Überprüfung an. Ich muss bestätigen, dass zwei Objektinstanzen A
und B
in Wert gleich sind und nicht tatsächliche Objekt.Test zwei Instanzen von Objekt sind gleich JUnit
Wir haben eine Methode namens assertEquals(obj expected, obj actual)
in JUnit, aber ich will nicht so.
Gibt es einen Weg oder Workaround, um das gleiche zu erreichen?
Dies bedeutet, dass Ihr Produktionscode mit einem Verfahren verschmutzt rein für Test. Auch mit assertTrue erhalten Sie absolut keine Diagnose auf/warum/der Test ist fehlgeschlagen – tddmonkey
Ich bin damit einverstanden, den Produktionscode mit Testcode verschmutzen, aber nicht auf die Diagnose, warum der Test fehlgeschlagen ist. Wenn es fehlgeschlagen ist, ist es fehlgeschlagen, weil tatsächliche Objekte nicht wie erwartet erwartet werden. Wenn Sie genauere Informationen wünschen, fügen Sie eine Reihe von Aussagen für jedes relevante Feld hinzu. –
Die Diagnose, die Sie daraus erhalten, ist etwas wie "erwartet wahr: wurde falsch". Wenn Sie den Test ändern, um Assertionen besser zu nutzen, müssen Sie keine anderen Arbeiten ausführen.Wenn Sie meine Antwort sehen, werden alle Vorschläge eine Qualitätsdiagnose ergeben, die nicht nur anzeigt, dass der Test fehlgeschlagen ist, sondern auch warum – tddmonkey