Bei der Überprüfung von erwarteten Testdaten stellt checkerberry db eine Zuordnung der zu vergleichenden Zeilen aus den Testdaten und der Datenbank her. Danach werden alle Spalten der Zeilen miteinander verglichen. Wenn es zu Abweichungen kommt, wird eine Fehlermeldung erzeugt und der Test schlägt fehl.
In vielen Fällen enthalten die Tabellen jedoch Spalten, die von dem Vergleich ausgeschlossen werden können. Dies kann für technische Informationen relevant sein, die ggf. dynamisch in die entsprechenden Datenbankzeilen eingefügt werden wie z.B. Änderungszeitstempel oder generierte IDs. Diese Spalten können einfach aus dem Vergleich ausgeschlossen werden, sodass Sie bei dem Vergleich von zwei Zeilen nicht berücksichtigt werden.
Beispiel 2.18. Anpassen der auszuschließenden Spalten
public void testGetUser() throws Exception { … // Holen des Testhandlers. DbTestHandler testHandler = getEnvironment().getTestHandler(); // Allgemeine Datenbankbeschreibung holen. DatabaseDescription dbDescription = testHandler.getDatabaseDescription(); // Tabellenbeschreibung für Tabelle USERS holen. DatabaseTableDescription tableDescription = dbDescription.getTableDescription("USERS"); // Spalte BIRTHDATE aus dem Vergleich ausschließen. tableDescription.addExcludedColumns("BIRTHDATE"); … }
Das Code-Beispiel zeigt wie die Spalte
BIRTHDATE
der Tabelle
USERS
vom Vergleich ausgeschlossen wird. Da jeder
Test eine eigene Kopie der Datenbankbeschreibung verwendet, bezieht sich
diese Änderung nur auf die Methode testGetUser
.
Die Spalten können jedoch auch innerhalb des
DatabaseDescriptionCallback
ausgeschlossen werden.
Dies wirkt sich dann auf alle Tests aus.