Unittests für die Kommandozeile

Unsere Kaffeemaschine wird zwangsläufig über die Kommandozeile aufgerufen. Das wäre selbst dann noch der Fall, wenn wir eine graphische Oberfläche hätten und der Benutzer zum Start auf ein Icon doppelt geklickt hätte. Unter der Haube werkelt halt immer noch die gute alte Konsole. Da ist es nur logisch, auch diesen Aufruf einigen Unittests zu unterziehen. Die Rechtschreibkorrektur schlug als Alternative für das ihr unbekannte „Unittests“ übrigens „Unsitte“ vor 🙂 Weit gefehlt! Es wäre eher eine Unsitte, Unittests nicht durchzuführen. Das Dumme an unserer bisher so eleganten Lösung für die Kommandozeilen-Parameter ist, dass wir so recht gar nicht wissen, wie dieHier geht's weiter … Unittests für die Kommandozeile

PyDay: Code Coverage

Die Code Coverage oder auf deutsch „Codeabdeckung“ ist ein Maß für die Frage, wie viel Prozent meines Quellcodes durch meine Unit-Tests erfasst wird. Logischerweise kann Code, der während der Tests nicht durchlaufen wird, auch nicht getestet werden. Hier soll es darum gehen, wie ich mit Eclipse und PyDev die Codeabdeckung meiner Unit-Tests überprüfen kann.

PyDay: Unittests

In dem Artikel Unit-Tests habe ich vor längerem bereits etwas Grundlegendes dazu geschrieben. Auch das Thema Test-Driven Development wurde dort bereits erwähnt. Damals ging es speziell um ein Unittest-Framework für Microsoft Access, aber das generelle Konzept der Unittests ist natürlich nicht darauf beschränkt. Wie man sich denken kann, steht auch für die hier besprochene Python-Entwicklungsumgebung ein Unit-Test-Framework zur Verfügung. Es gibt sogar mehrere davon, aber für unsere Zwecke reicht es zunächst, sich nur mit einem zu beschäftigen, PyUnit. Ähnliche Artikel:Unittests für die KommandozeilePyDay: Code CoveragePython und die KommandozeileVon Null auf Python in 45 MinutenPyDay: Die listige Python (2)

Python-Missbrauch

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 DateiHier geht's weiter … Python-Missbrauch

Unit-Tests

Der Begriff „Unit-Test“ wird im allgemeinen für eine Methodik verwendet, bei der Funktionen und Klassen eines Programmes isoliert von anderen Dingen getestet werden. Man kann für „Unit-Tests“ durchaus auch die deutsche Übersetzung „Einheiten-Tests“ verwenden, denn hier wird jede „Einheit“ (Klasse, Funktion, Subroutine, …) gesondert getestet. Es ist üblich, solche Elemente isoliert voneinander zu testen, da man im allgemeinen erwartet, dass Klassen eine bestimmte, eng abgegrenzte Aufgabe erfüllen. Aus diesem Grunde ist es möglich, solche Klassen in einer Weise zu testen, die sicherstellt, dass die Klasse ihre Aufgabe auch nach einer Änderung immer noch erfüllt. Wichtige Punkte dabei sind, dass dieHier geht's weiter … Unit-Tests