Testy jednostkowe
Ćwiczenia
- Połącz się z projektem zespołowym
nprw kolekcjisandboxi pobierz projektSlownik(także do pobrania Tutaj). - Korzystając z frameworku Xunit.net stwórz testy jednostkowe do wszystkich metod w klasie
Slownik- utwórz projekt zawierający testy i dodaj referencję do biblioteki xunit.net
- za pomocą nuget zainstaluj oprogramowanie do uruchamianie testów xunit.net w Visual Studio
- napisz test sprawdzający czy dodanie kilku przykładowych słów do słownika odpwiedno ustawi liczniki słów (
IloscSlow,IloscWszystkichSlow) - napisz test sprawdzający czy dodanie pustego napisu do słownika nie zwiększy liczby słów
- napisz test sprawdzający czy brak wyrazu (
null) podany jako argumentDodajSloworzuca wyjątekArgumentNullException()
* napisz test sprawdzający metodęListaSłowza pomocą asercji porównujących kolekcje - ustaw w konstruktorze środowisko testowe: utwórz obiekt Słownik i dodaj kilka przykładowych słów
- ustaw w środowisko testowe implementując interfejs IUseFixture<T>
- dla jednego z testów ustaw własność
SkipatrybutuFactaby test został zignorowany - dla jednego z testów ustaw własność
TimeoutatrybutuFactzabezpieczający przez zbyt długim wykonywaniem
- Utwórz testy Data-Driven-Test (atrybut
Theory) to przetestowania tych samych metod- Wykorzystaj atrybut
InlineDatado przetwstowania poprawności zawartości słownika dla danych
Ala ma kota Ala Ala ma kota "" (pusty łańcuch znakowy) ala Ala ALA ma kota kota ma ala ala
- Spróbuj uzyskać to samo za pomocą atrybutu
PropertyData - Dodaj referencję do
AutoFixturei wygeneruj słownik zawierający 3 elementy o losowych wartościach, przetestuj poprawność wyniku otrzymanego z własnościIloscSlow
- Przekształć metodę
Czytajw taki sposób aby wyizolować ze środowiska testowego odczyt zewnętrznego pliku tekstowego.- Zaimplementuj interfejs
IFileReader, która wymusza implementację metody
string CzytajText()
. Obiekty implementujące ten interfejs zwracają test przeczytany, np. z pliku. Obiekty niech będą dostarczane do słownika za pomocą metody
Czytaj, która parsuje zawartość otrzymanego łańcucha znakowego i umieszcza słowa w słowniku. - Użyj biblioteki
Moqdo przygotowania atrapy, która dostarczy do słownika pewien tekst (np. „Ala_ma_kota!”) i przetestuje poprawność oczekiwanych wyników
- Zainstaluj rozszerzenie Xunit.net do R# i utwórz sesję zawierającą wszystkie testy z projektu i uruchom wszystkie testy
- Spróbuj powtórzyć podobny scenariusz testowania korzystając z NUnit lub/i MS Test