Datenbankanwendungen mit Django effektiv testen

Datenbanken dienen dazu, zu speichern ohne zu vergessen – das erschwert jedoch automatisches Testen. Hier hilft das Python-Framework Django.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Django-Datenbankanwendungen wonnevoll testen

(Bild: Albert Hulm)

Lesezeit: 8 Min.
Inhaltsverzeichnis

Automatische Tests sollten immer unter den gleichen Voraussetzungen laufen. Datenbanken dienen aber dazu, zu speichern ohne zu vergessen – jede SQL-Anweisung im Test einer Datenbankanwendung verändert also den Status für andere Tests. Irgendwie müssen diese widerstrebenden Prinzipien zusammenfinden. Django löst das scheinbare Dilemma elegant.

Ein neuer TestCase prüfte, ob die Anwendung Daten korrekt in der Datenbank gespeichert hatte. Nach ein paar Durchläufen passte die Testdatenbank nicht mehr auf die SSD, weil keiner der Tests die Daten wieder löschte. Eine Lösung bestand aus einem Winkelzug in Form eines Pseudo-Tests, der alle Datensätze eines Typs entfernte. Kurz darauf fluchte ein Kollege, dass seine Testdaten verschwunden seien.

Diese Szene spielte sich vor Jahren mal bei einem Projekt ab, bei dem alle Entwickler mit einer einzigen Test-Datenbank arbeiteten. Sie veranschaulicht, warum eine Datenbank für alle, besonders zusammen mit automatischen Tests, eine dumme Idee ist.

Immer mehr Wissen. Das digitale Abo für IT und Technik.






Immer mehr Wissen. Das digitale Abo für IT und Technik.