Testbasiertes Programmieren: Externe Dateien

Hallo,
der Betreff ist eine wenig doof... aber mir ist nichts besseren eingefallen.
Ich habe ein Programm, welches primär mehrere externe Programme steuert. Viele Funktionen meines Programmes kann ich also nicht direkt testen (als unittests), sondern ich will das Zusammenspiel mit den externen Programmen testen.
Meine Idee wäre es das ganze so zu testen, dass ich einen Satz von Eingangsdaten erstelle. Diese werden, gesteuert von meinem Programm durch die externen Programme verarbeitet. Anschließend vergleiche ich mit als richtig bekannten Ausgabedaten. Die neu erstellen Ausgabedaten werden anschließend gelöscht.
Ist das der übliche Weg? Gibt es im Testframework der Python Standardbibliothek entsprechende Funktionen? Beim drüberschauen ist mir nichts aufgefallen, ich würde jedoch gerne mit der Stdlib auskommen.
Wie würdet ihr das machen?
Danke & Grüße,
Florian

Hallo,
On Thu, 14 Jun 2012 21:00:19 +0200 Florian Lindner mailinglists@xgm.de wrote:
Meine Idee wäre es das ganze so zu testen, dass ich einen Satz von Eingangsdaten erstelle. Diese werden, gesteuert von meinem Programm durch die externen Programme verarbeitet. Anschließend vergleiche ich mit als richtig bekannten Ausgabedaten. Die neu erstellen Ausgabedaten werden anschließend gelöscht.
Ist das der übliche Weg? Gibt es im Testframework der Python Standardbibliothek entsprechende Funktionen? Beim drüberschauen ist mir nichts aufgefallen, ich würde jedoch gerne mit der Stdlib auskommen.
Korrigier mich wenn ich deine Situation falsch einschätze, aber so laufen die Tests in Mercurial ab, da wird das Kommandozeilen-UI getestet und mit aufgezeichneten "korrekten" Daten verglichen. Kannst mal schauen wie die das implementieren.
Und ja, kann man so machen. Wirkt auf den ersten Blick etwas seltsam, aber sofern es funktioniert und überschaubar ist, ists gar nicht so übel.
grüße, Marek

Marek Kubica schrieb:
On Thu, 14 Jun 2012 21:00:19 +0200 Florian Lindner mailinglists@xgm.de wrote:
Meine Idee wäre es das ganze so zu testen, dass ich einen Satz von Eingangsdaten erstelle. Diese werden, gesteuert von meinem Programm durch die externen Programme verarbeitet. Anschließend vergleiche ich mit als richtig bekannten Ausgabedaten. Die neu erstellen Ausgabedaten werden anschließend gelöscht.
Ist das der übliche Weg? Gibt es im Testframework der Python Standardbibliothek entsprechende Funktionen? Beim drüberschauen ist mir nichts aufgefallen, ich würde jedoch gerne mit der Stdlib auskommen.
Korrigier mich wenn ich deine Situation falsch einschätze, aber so laufen die Tests in Mercurial ab, da wird das Kommandozeilen-UI getestet und mit aufgezeichneten "korrekten" Daten verglichen. Kannst mal schauen wie die das implementieren.
Das von mir in der vorher gehenden E-Mail vorgeschlagene cram[1] ist quasi die stand alone Version des Mercurial Testing Frameworks.
Viele Grüße
Markus

Vielen Dank an alle für die Vorschläge und Ideen!
Am 19. Juni 2012 20:09 schrieb Markus Zapke-Gründemann markuszapke@gmx.net:
Marek Kubica schrieb:
On Thu, 14 Jun 2012 21:00:19 +0200 Florian Lindner mailinglists@xgm.de wrote:
Meine Idee wäre es das ganze so zu testen, dass ich einen Satz von Eingangsdaten erstelle. Diese werden, gesteuert von meinem Programm durch die externen Programme verarbeitet. Anschließend vergleiche ich mit als richtig bekannten Ausgabedaten. Die neu erstellen Ausgabedaten werden anschließend gelöscht.
Ist das der übliche Weg? Gibt es im Testframework der Python Standardbibliothek entsprechende Funktionen? Beim drüberschauen ist mir nichts aufgefallen, ich würde jedoch gerne mit der Stdlib auskommen.
Korrigier mich wenn ich deine Situation falsch einschätze, aber so laufen die Tests in Mercurial ab, da wird das Kommandozeilen-UI getestet und mit aufgezeichneten "korrekten" Daten verglichen. Kannst mal schauen wie die das implementieren.
Das von mir in der vorher gehenden E-Mail vorgeschlagene cram[1] ist quasi die stand alone Version des Mercurial Testing Frameworks.
Viele Grüße
Markus
[1] http://pypi.python.org/pypi/cram _______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
participants (3)
-
Florian Lindner
-
Marek Kubica
-
Markus Zapke-Gründemann