Zur Abwechslung mal wieder etwas Software.
Eines Tages kam mir spontan die Idee, Python-Unit-Tests zu verwenden, um gar keinen Python-Code zu testen, sondern etwas ganz anderes. Hier ging es konkret um die innere Struktur einer von einem Programm exportierten Datei. Wichtig ist also die Unterscheidung, dass es keineswegs um den Test von Funktionen geht, sondern um den Test von Daten. Dazu brauche ich natürlich ein paar Hilfsfunktionen oder -Klassen, aber die sind nicht das eigentliche Ziel des Tests.
Mögliche Vorgehensweise
Im FixtureSetup muss die fragliche Datei eingelesen werden. Dazu sind im vorliegenden Fall einige zusätzliche Aktionen nötig, da die Datei ein ZIP-Archiv ist und aus mehreren Dateien besteht. Wir müssen uns also entscheiden, welche der enthaltenen Dateien getestet werden soll. Dementsprechend wird dann auch nur deren Inhalt eingelesen. Je nach Datenstruktur der zu testenden Datei kann das eine unterschiedliche Klasse erfordern. Gehen wir konkret von einer Datei mit zeilenweiser “Key-Value”-Struktur aus, wobei die Keys wiederum hierarchisch organisiert sind.
Ist die Datei eingelesen, würden die eigentlichen Unit-Tests dann nur noch auf dieser Klasse stattfinden. Die Klasse könnte dabei elegante Methoden bereitstellen, um die Unit-Tests übersichtlich zu halten.
Im FixtureTearDown würden dann alle beim Auspacken der ZIP-Datei entstandenen temporären Dateien sorgfältig aufgeräumt.
Das sollte doch eigentlich machbar sein, oder?
Neueste Kommentare