Modifikationen von Unit-Testing-Dateien

Eine häufige Aufgabe in Programmen, an denen ich in letzter Zeit gearbeitet habe, ist das Ändern einer Textdatei auf irgendeine Weise. (Hey, ich bin auf Linux. Alles ist eine Datei. Und ich mache große Systemadministration.)

Aber die Datei, die der Code ändert, existiert möglicherweise nicht auf meiner Desktop-Box. Und ich möchte es wahrscheinlich nicht ändern, wenn es sich auf meinem Desktop befindet.

Ich habe über Unit-Tests in Dive Into Python gelesen und es ist ziemlich klar, was ich tun möchte, wenn ich eine App teste, die Dezimalzahlen in römische Ziffern konvertiert (das Beispiel in DintoP). Die Prüfung ist in sich abgeschlossen. Sie müssen nicht überprüfen, ob das Programm das Richtige DRUCKT, sondern nur, ob die Funktionen die richtige Ausgabe an eine bestimmte Eingabe zurückgeben.

In meinem Fall müssen wir jedoch testen, ob das Programm seine Umgebung korrekt ändert. Folgendes habe ich mir ausgedacht:

1) Erstellen Sie die "Original" -Datei an einem Standardspeicherort, vielleicht / tmp.

2) Führen Sie die Funktion aus, die die Datei ändert, und übergeben Sie den Pfad zur Datei in / tmp.

3) Vergewissern Sie sich, dass die Datei in / tmp korrekt geändert wurde. Pass / Fail-Unit-Test entsprechend.

Das kommt mir klobig vor. (Gets noch kludgier, wenn Sie überprüfen möchten, ob Sicherungskopien der Datei ordnungsgemäß erstellt wurden usw.) Hat sich jemand einen besseren Weg ausgedacht?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage