TESTY JEDNOSTKOWE W C Alicja Majka 259037 AGENDA
- Slides: 23
TESTY JEDNOSTKOWE W C# Alicja Majka, 259037
AGENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit, NUnit Pokrycie kodu – co to takiego? Zalety oraz wady Podsumowanie
WPROWADZENIE DO ŚRODOWISKA Mechanizm testów jednostkowych jest powiązany ze środowiskiem, z którego korzystamy. W tym przypadku – Visual Studio 2013. Do Rozwiązania (Solution) dołączana jest dodatkowa klasa testowa. W tej klasie można stworzyć metody testowe. Korzystać będą z metod wcześniej utworzonych w danym Rozwiązaniu. We wcześniejszych wersji Visual Studio (2010) tworzenie testów jednostkowych dla danej klasy było wygodniejsze – zamiast dodawania osobnego pliku i tworzenia go od zera, testy były
WPROWADZENIE DO ŚRODOWISKA
WPROWADZENIE DO ŚRODOWISKA Trzeba utworzyć referencję do biblioteki z metodami testującymi, z których będą korzystały testy jednostkowe.
JEDNOSTKOWE I PO CO JE STOSOWAĆ? Testy jednostkowe – (ang. Unit Tests) to fragmenty kodu, które testują inny fragment kodu. Weryfikują poprawność działania pojedynczych elementów programu; metod, obiektów, procedur. Testowany fragment kodu poddawany jest testowi, który wykonuje go i porównuje wynik z oczekiwanymi wynikami.
JEDNOSTKOWE I PO CO JE STOSOWAĆ? Podczas dokonywania zmian w kodzie warto wiedzieć, że niczego się nie popsuło. Można stworzyć testy weryfikujące, czy urządzenie, z którego korzysta program jest poprawnie podłączone, skonfigurowane itp. (Kinect, Eye. Tracker ) Dzięki testom jednostkowym można wykryć brak obsługi wyjątków (dzielenie przez 0, wpisanie niepoprawnej wartości, przekazanie niewłaściwego typu do metody – brak rzutowania typów).
JEDNOSTKOWE I PO CO JE STOSOWAĆ?
JEDNOSTKOWE I PO CO JE STOSOWAĆ?
JEDNOSTKOWE I PO CO JE STOSOWAĆ? Uruchomienie testów jednostkowych w VS 2013
JEDNOSTKOWE I PO CO JE STOSOWAĆ?
XUNIT, NUNIT XUnit oraz NUnit to dwie struktury (zbiory klas) do testowania kodu w środowisku. NET. Pakiety te składają się z zestawu klas bazowych umieszczonych w bibliotekach dll, które dołączamy do projektu za pomocą referencji oraz aplikacji uruchamiającej testy. Co jest lepsze? Niewiadomo. Jedni korzystają z XUnit, inni korzystają z NUnit.
PRZYKŁAD TESTU JEDNOSTKOWEGO
PRZYKŁAD TESTU JEDNOSTKOWEGO
PRZYKŁAD TESTU JEDNOSTKOWEGO
PRZYKŁAD TESTU JEDNOSTKOWEGO
TESTY JEDNOSTKOWE W C# Nie trzeba uruchamiać 10 razy jednego testu, kiedy mamy różny zestaw danych dla jednej metody SUMA. Można do tego wykorzystać pliki. xls (Excel), które są ładowane do Rozwiązania. Jak już wcześniej zauważono, można tak zbudować test, by dla konkretnych zmiennych oczekiwał konkretnego wyjątku. Robi się to w taki sposób:
POKRYCIE KODU – CO TO TAKIEGO? Pokrycie kodu – (ang. Code coverage) jest to miara, która mówi, ile % kodu zostało sprawdzone za pomocą testów jednostkowych. Przyjęto, że dobrze napisane testy pokrywają około 70% napisanego kodu. Nie ma sensu „pokrywać” większej ilości kodu.
POKRYCIE KODU – CO TO TAKIEGO?
ZALETY ORAZ WADY Zalety: Raz napisany test można uruchomić kilka razy Można je wykonywać na bieżąco (NCrunch – program służący do wykonywania testów, które aktualnie wymagają uruchomienia. Bardzo przydatny, niestety płatny) Możliwość przetestowania funkcjonalności bez uruchamiania całego oprogramowania Wady: Nieco pracochłonne – wygląda to tak, że trzeba napisać dwa kody – właściwy oraz testujący Nie każdy się do tego nadaje Są kosztowne czasowo, nużące
PODSUMOWANIE Tworzenie testów jednostkowych jest przydatne, ale też nie można z nimi przesadzać. Nie powinno się tracić multum czasu na napisanie kilkuset linii kodu testującego, ale czasem trzeba. Nie dają 100% pewności, że testowy kod nie zawiera błędów. Kod testujący również może zawierać błędy, dlatego czasem trzeba pisać testy testów – czy to opłacalne?
ŹRÓDŁA WIEDZY Testy jednostkowe, MSDN https: //msdn. microsoft. com/pl-pl/library/testyjednostkowe-w-visual-studio. aspx Wykład z przedmiotu Narzędzia Programistyczne Wikipedia. org
KONIEC! Dziękuję za uwagę!
- Alicja zdrobniale
- Alicja limburska
- Nikodem sobik
- Alicja rokosz
- Alicja waligóra-zblewska
- Alicja gutowska
- Sierosław centrum terapii manualnej
- Definicja funkcji liniowej
- Alicja zell
- Alicja kacprzak
- Alicja kita
- Alicja limburska
- Alicja michalczyk
- Alicja limburska
- Agenda sistemica y agenda institucional
- Mislav herman majka
- Melisa emini
- Brecht majka hrabrost i njezina djeca
- Majka hrabrost i njezina djeca
- Majka uj zene
- Bosanski pravopis
- Opis ane frank
- Velikonoční májka
- Filip latinovicz majka