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
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
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
Vielen Dank an alle für die Vorschläge und Ideen!
Am 19. Juni 2012 20:09 schrieb Markus Zapke-Gründemann
Marek Kubica schrieb:
On Thu, 14 Jun 2012 21:00:19 +0200 Florian Lindner
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