Jak przetestować poprawność operacji na plikach

0

Piszę aplikację Window Forms która między innymi tworzy, usuwa, przenosi pliki. Chciałbym napisac testy jednostkowe sprawdzające poprawność tych operacji.

  1. czy takie coś sie robi w testach jednostkowych jeśli nie to jak to inaczej zrobic?
  2. jak powinien wygladac test operacji na plikach?
1

Generalnie, przewaznie mockuje się takie rzeczy (tzn zamiast właściwych funkcji na plikach podastawiasz swoje, które tylko będą symulować jakiś scenariusz i zaspiszą raport z wywołań). Jeśli masz oddzielny moduł to możesz go nie testować, jeśli jest na przykład adapterem (nie implementuje żadnej dodatkowej logiki). Jeśli bardzo ci zależy na przetestowaniu (bo szukasz błędu albo funkcjonalność ma krytyczne znaczenie) to możesz stworzyć sobie katalog w którym potestujesz. Ewentualnie jest jeszcze jedna opcja (zdecydowanie najciekawsza) — zaimplementować (jeśli nikt jeszcze tego nie zrobił) testowy system plików, który będzie działać jak mock. Łatwe w implementacji jeśli masz do tego odpowiednie narzędzie. Niestety na windowsie nie ma chyba FUSE, ale swojego czasu korzystałem z biblioteki Callbackfs (darmowy trial), która działa na podobnej zasadzie. Jest trochę zbugowana, ale za to zabawa nią przynosi sporo satysfakcji. Jeśli zależy ci na uczeniu się to polecam taki eksperyment. :)

0

testowanie api systemowego nie ma sensu (chyba ze piszesz system ;))
mozesz jedynie przetestowac ze cos zostalo wywolane w odpowiedniej kolejnosci/z odpowiednimi parametrami ale wez moze napisz konkretne przypadki ktore chcesz przetestowac bo mozliwe ze probujesz przekombinowac

0

@katelx: chciałbym przetestowac czy moje metody beda powtarzalne, czyli czy za kazdym razem gdy wołąm metodęt tworzaca plik. czy on sie tworzy, to samo z kasowanie i przenoszeniem. Tak samo czy nie ma jakiejs proby przeniesienia pliku ktory co dopiero skasowałem. W aplikacji bedzie pewna logika od któej beda zalezały operacje tworzenia/kasowania/przenoszenia

1 użytkowników online, w tym zalogowanych: 0, gości: 1