Blog

Automatische Erzeugung von Testdaten

Erik Jan de Wit

Aktualisiert Oktober 23, 2025
2 Minuten

Wir alle kennen das, wir alle haben das schon einmal oder vielleicht sogar öfter bei einem Projekt erlebt. Der Auftrag lautet, eine Anwendung zu erstellen, aber es gibt keine Daten, mit denen Sie arbeiten können. Dafür kann es eine ganze Reihe von Gründen geben - um nur einige zu nennen: Der Webdienst, der angebunden werden sollte, ist nicht rechtzeitig fertig geworden, die Datenbankmigration wurde verschoben. Dann muss jemand Datenbankskripte mit Testdaten erstellen oder einen Test-Webdienst implementieren. Das ist alles Zeitverschwendung. Aber zum Glück gibt es jetzt eine Lösung für Sie.

Ich habe ein kleines Framework entwickelt, das einfach einzurichten ist und automatisch Testdaten erzeugt. Der Einstiegspunkt ist ein Methoden-Interceptor, den Sie um jede beliebige Methode wickeln können, es muss nicht einmal eine Implementierung vorhanden sein. Die DAO, die Sie verwenden möchten, deren Datenbank aber noch leer ist, wird einfach von unserem Framework abgefangen, und alle Methoden geben die gewünschten Daten zurück. Das Framework ist so aufgebaut, dass Sie nicht viel konfigurieren müssen, um Daten zu erhalten, denn sonst würde es seinen Zweck verfehlen. Das Framework besteht aus Generatoren. Diese Generatoren können Daten für bestimmte Klassen erzeugen - zum Beispiel gibt es einen FloatingPointGenerator, der zufällig Fließkommazahlen erzeugt. Das Framework versucht herauszufinden, welche Art von Objekten zurückgegeben werden müssen, instanziiert diese Objekte und generiert dann Daten für alle ihre Eigenschaften. Manchmal funktionieren zufällig erstellte Strings oder Zahlen einfach nicht, weil es sich um gültige Daten handeln muss. Aus diesem Grund können Sie die Standardwerte außer Kraft setzen. Für ein bestimmtes Feld können Sie einen alternativen Generator verwenden. Wenn Ihr Domänenmodellobjekt beispielsweise eine Eigenschaft Postleitzahl hat, können Sie es so einrichten, dass es den RegularExpressionInstanceGenerator verwendet. Dieser Generator kann verwendet werden, um Strings zu erzeugen, die mit dem konfigurierten regulären Ausdruck übereinstimmen. Wenn dieser Artikel Ihre Neugierde geweckt hat, sehen Sie sich die Sourceforge-Site an, um weitere Informationen zu erhalten.

Verfasst von

Erik Jan de Wit

Contact

Let’s discuss how we can support your journey.