Jak przetestować poprawność operacji na plikach

Trzeźwy Kaczor
2018-02-24 13:36
Trzeźwy Kaczor
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?

Pozostało 580 znaków

2018-02-24 13:50

Rejestracja: 13 lat temu

Ostatnio: 1 godzina temu

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. :)


edytowany 3x, ostatnio: elwis, 2018-02-24 13:52
Na Windows jest Dokan/Dokany które ma nawet wrapper do FUSE. - Ktos 2018-02-24 16:49

Pozostało 580 znaków

2018-02-24 14:07

Rejestracja: 4 lata temu

Ostatnio: 4 godziny temu

Lokalizacja: Hong Kong

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

Pozostało 580 znaków

Trzeźwy Kaczor
2018-02-24 14:59
Trzeźwy Kaczor
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

Pozostało 580 znaków

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