Modyfikacje plików testów jednostkowych
Typowym zadaniem w programach, nad którymi ostatnio pracowałem, jest modyfikacja pliku tekstowego w jakiś sposób. (Hej, jestem na Linuksie. Wszystko jest plikiem. I robię administratora systemu na dużą skalę.)
Ale plik, który modyfikuje kod, może nie istnieć na moim pulpicie. I prawdopodobnie nie chcę go modyfikować, jeśli jest na moim pulpicie.
Czytałem o testowaniu jednostkowym w Dive Into Python i jest całkiem jasne, co chcę zrobić podczas testowania aplikacji, która konwertuje liczbę dziesiętną na cyfry rzymskie (przykład w DintoP). Testowanie jest ładnie samodzielne. Nie musisz sprawdzać, czy program WYDRUKUJE właściwą rzecz, wystarczy sprawdzić, czy funkcje zwracają odpowiednie dane wyjściowe do danego wejścia.
W moim przypadku musimy jednak sprawdzić, czy program poprawnie modyfikuje swoje środowisko. Oto, co wymyśliłem:
1) Utwórz „oryginalny” plik w standardowej lokalizacji, być może / tmp.
2) Uruchom funkcję, która modyfikuje plik, przekazując mu ścieżkę do pliku w / tmp.
3) Sprawdź, czy plik w / tmp został poprawnie zmieniony; odpowiednio przetestuj jednostkę pozytywną / negatywną.
Wydaje mi się to dziwne. (Pobiera nawet kludgiera, jeśli chcesz sprawdzić, czy kopie zapasowe pliku są tworzone prawidłowo itp.) Czy ktoś wymyślił lepszy sposób?