6.2.10. Warum bekomme ich die Fehlermeldung trotz korrekter Testdaten?

Bei der Verwendung von Testdaten kann es zu folgender Fehlermeldung kommen:

java.lang.RuntimeException: org.dbunit.dataset.DataSetException: Line XX: The content of element type "dataset" must match "(INCLUDE*,TABLE1*, TABLE2*, ..., TABLEn*)"

Diese Fehlermeldung erscheint, wenn die Reihenfolge der Tabellen innerhalb der Testdaten nicht der vorgegebenen Reihenfolge aus der DTD entspricht. Die Reihenfolge ist jedoch wichtig, da z.B. beim Einspielen von Testdaten die Fremdschlüsselbeziehungen berücksichtigt werden müssen. Anderenfalls kann es passieren, dass ein Testdatensatz in die Datenbank eingespielt wird, der auf einen noch nicht vorhandenen Datensatz verweist. In diesem Fall würde die Datenbank eine Fehlermeldung wegen einer Constraint-Verletzung werfen. In der DTD berücksichtigt die Reihenfolge der Tabellen diese Abhängigkeiten, sodass diese Reihenfolge als bindend für alle Testdaten verwendet wird.

Das Auftreten dieses Laufzeitfehlers kann bereits während der Entwicklung verhindert werden, wenn die Testdaten bereits in der Entwicklungsumgebung gegen die DTD validiert werden.