Möchte man bei dem Einspielen von initialen Testdaten eine Tabelle
leer lassen, so wird das implizit dadurch erreicht, dass man keine
Datensätze für diese Tabelle definiert. Über die Angabe des Tags
EMPTY_TABLE
, kann jedoch auch explizit
sichergestellt werden, dass keine Datensätze für diese Tabelle
eingespielt werden. Der Name der Tabelle wird in diesem Fall über das
Attribut TABLENAME
angegeben.
Beispiel 2.37. Explizite Angabe einer leeren Tabelle
<dataset> <!-- Die Tabelle PIZZA soll leer sein. --> <EMPTY_TABLE TABLENAME="PIZZA" /> <!-- Die Tabelle USERS soll Daten enthalten. --> <USERS NAME="Marge" SURNAME="Simpson" /> <USERS NAME="Homer" SURNAME="Simpson" /> <USERS NAME="Bart" SURNAME="Simpson" /> <USERS NAME="Lisa" SURNAME="Simpson" /> <USERS NAME="Maggie" SURNAME="Simpson" /> </dataset>
Die explizite Angabe einer initial leeren Tabelle garantiert, dass
keine Datensätze für diese Tabelle eingespielt werden. Dies könnte z.B.
passieren, wenn initialen Testdaten für diese Tabelle in einer
inkludierten Datei vorhanden sind. Entsteht ein solcher Widerspruch in
den Testdaten, wird die checkerberry db Fehlermeldung
CB-DB-1044
erzeugt.
Das EMPTY_TABLE
Tag kann nicht nur in den
initialen, sondern auch in den erwarteten Testdaten genutzt werden. Die
folgende Tabelle stellt den Unterschied zwischen impliziter Annahme
einer leeren Tabelle durch Weglassen der Definition und expliziter
Angabe eines EMPTY_TABLE
Tags dar.
Initiale Testdaten | Erwartete Testdaten | |
Es sind Datensätze für Tabelle XXX definiert. | Die Datensätze werden in die Datenbank eingespielt. | Es wird überprüft, ob die Tabelle genau diese Datensätze enthält. |
Es sind keine Datensätze für die Tabelle XXX definiert. | Die ggf. vorhandenen Datensätze der Tabelle werden in der Datenbank gelöscht. | Diese Tabelle wird während der Überprüfung nicht berücksichtig, d.h. auch wenn für diese Tabelle Datensätze in der Datenbank vorhanden sind, verläuft die Überprüfung positiv. |
Für die Tabelle XXX ist das EMPTY_TABLE Tag definiert. | Die ggf. vorhandenen Datensätze der Tabelle werden in der Datenbank gelöscht. | Es wird überprüft, ob diese Tabelle in der Datenbank leer ist. |
Es sind Datensätze für Tabelle XXX definiert und für die Tabelle XXX ist das EMPTY_TABLE Tag definiert. | Die checkerberry db Fehlermeldung
CB-DB-1044 wird erzeugt. | Die checkerberry db Fehlermeldung
CB-DB-1044 wird erzeugt. |