testy jednostkowe. świat niezawodnych aplikacji. wydanie ii pełna wersja, mojeksiążki

[ Pobierz całość w formacie PDF ]
//-->Spis tre ciS owo wst pne do drugiego wydania 11S owo wst pne do pierwszego wydania 13Przedmowa 15Podzi kowania 17O tej ksi ce 19O ilustracji na ok adce 24CZ1.1.I. ZACZYNAMY252729Definicja testu jednostkowego krok po kroku 281.1.1.Dlaczego wa ne jest pisanie „dobrych” testów jednostkowych1.1.2.Wszyscy piszemy testy jednostkowe (w pewnym sensie) 30W a ciwo ci dobrego testu jednostkowego 31Testy integracyjne 311.3.1.Wady niezautomatyzowanych testów integracyjnychw porównaniu z automatycznymi testami jednostkowymi 33Co sprawia, e test jednostkowy jest dobry 36Prosty przyk ad testu jednostkowego 37Wytwarzanie oprogramowania sterowane testami 40Trzy zasadnicze umiej tno ci potrzebnedo skutecznego stosowania technik TDD 43Podsumowanie 44Rozdzia 1. Podstawowe informacje o testach jednostkowych1.2.1.3.1.4.1.5.1.6.1.7.1.8.Rozdzia 2. Pierwszy test jednostkowy2.1.452.2.2.3.2.4.Frameworki testów jednostkowych 462.1.1.Co oferuj frameworki testów jednostkowych 462.1.2.Frameworki xUnit 49Wprowadzenie w tematyk projektu LogAn 49Pierwsze kroki z NUnit 492.3.1.Instalacja frameworka NUnit 502.3.2.adowanie rozwi zania 512.3.3.Wykorzystanie atrybutów NUnit w kodzie 54Piszemy pierwszy test 552.4.1.Klasa Assert 552.4.2.Uruchomienie pierwszego testu za pomoc frameworka NUnit 562.4.3.Dodanie testów pozytywnych 582.4.4.Od czerwonego do zielonego: d enie do spe nienia testów 592.4.5.Styl kodu testów 59Kup książkęPoleć książkę62.5.2.6.Spis tre ciRefaktoryzacja w kierunku testów z parametrami 59Wi cej atrybutów NUnit 622.6.1.Atrybuty Setup i TearDown 622.6.2.Testowanie wyst powania oczekiwanych wyj tków 652.6.3.Ignorowanie testów 672.6.4.Sk adnia fluent frameworka NUnit 682.6.5.Ustawianie kategorii testowych 69Testowanie wyników metod,które nie zwracaj warto ci, tylko zmieniaj stan systemu 70Podsumowanie 742.7.2.8.CZ3.1.3.2.3.3.3.4.II. PODSTAWOWE TECHNIKI7577Wprowadzenie w tematyk namiastek 77Identyfikacja zale no ci od systemu plików w klasie LogAnalyzer 78Okre lenie sposobu atwego testowania klasy LogAnalyzer 79Refaktoryzacja projektu w celu u atwienia testowania 823.4.1.Wyodr bnienie interfejsu umo liwiaj cegozast pienie istniej cej implementacji 843.4.2.Wstrzykiwanie zale no ci: wstrzykni ciesztucznej implementacji do testowanej jednostki 863.4.3.Wstrzykni cie sztucznego obiektu na poziomie konstruktora 863.4.4.Symulowanie wyj tków z poziomu sztucznych obiektów 903.4.5.Wstrzykni cie sztucznego obiektuza pomoc gettera lub settera w a ciwo ci 913.4.6.Wstrzykni cie sztucznego obiektubezpo rednio przed wywo aniem metody 93Odmiany technik refaktoryzacji 1003.5.1.Wykorzystanie techniki „wyodr bnij i przes o ”do tworzenia sztucznych wyników 100Pokonanie problemu hermetyzacji 1023.6.1.Korzystanie ze sk adowych internal oraz atrybutu [InternalsVisibleTo]3.6.2.Wykorzystanie atrybutu [Conditional] 1033.6.3.Korzystanie z dyrektyw #if i #endif do warunkowej kompilacji 104Podsumowanie 104Rozdzia 3. Wykorzystanie namiastek do rozwi zywania zale no ci3.5.3.6.1033.7.Rozdzia 4. Testowanie interakcji z wykorzystaniem obiektów-makiet4.1.4.2.4.3.4.4.4.5.4.6.4.7.4.8.Testy bazuj ce na warto ci, testy bazuj ce na stanach a testy integracyjneRó nica pomi dzy obiektami-makietami a namiastkami 110Napisany r cznie prosty przyk ad obiektu-makiety 111Wykorzystywanie obiektów-makiet razem z namiastkami 114Jedna makieta na test 118a cuch sztucznych obiektów: namiastki,które generuj makiety lub inne namiastki 119Problemy z pisanymi r cznie makietami i namiastkami 120Podsumowanie 121107108Kup książkęPoleć książkęSpis tre ci7Rozdzia 5. Frameworki izolacji5.1.5.2.1235.3.5.4.5.5.5.6.5.7.Dlaczego stosujemy frameworki izolacji? 124Dynamiczne tworzenie sztucznych obiektów 1265.2.1.Wykorzystanie frameworka NSubstitute w testach 1265.2.2.Zast pienie sztucznego obiektunapisanego r cznie obiektem dynamicznym 127Symulacja sztucznych warto ci 1305.3.1.Wprowadzamy do testu makiet razem z namiastk131Testowanie dzia a zwi zanych ze zdarzeniami 1365.4.1.Testowanie obiektu nas uchuj cego zdarzenia 1365.4.2.Testowanie, czy zosta o wyzwolone zdarzenie 138Wspó czesne frameworki izolacji dla rodowiska .NET 138Zalety i pu apki frameworków izolacji 1405.6.1.Pu apki, których nale y unikaw przypadku korzystania z frameworków izolacji 1405.6.2.Nieczytelny kod testu 1415.6.3.Weryfikacja niew a ciwych rzeczy 1415.6.4.Wi cej ni jedna makieta w te cie 1415.6.5.Nadspecyfikacja testów 141Podsumowanie 142Rozdzia 6. Bardziej zaawansowane zagadnieniazwi zane z frameworkami izolacji 1456.1.Frameworki ograniczone i nieograniczone 1466.1.1.Frameworki ograniczone 1466.1.2.Frameworki nieograniczone 1466.1.3.Jak dzia aj nieograniczone frameworki bazuj ce na profilerzeWarto dobrych frameworków izolacji 151W asno ci wspieraj ce d ugowieczno i u yteczno1526.3.1.Imitacje rekurencyjne 1526.3.2.Domy lne ignorowanie argumentów 1536.3.3.Rozleg e imitacje 1536.3.4.Nie cis e zachowania sztucznych obiektów 1546.3.5.Nie cis e makiety 154Antywzorce projektowe frameworków izolacji 1556.4.1.Myl ce poj cia 1556.4.2.Zarejestruj i odtwórz 1566.4.3.Lepkie zachowania 1586.4.4.Z o ona sk adnia 158Podsumowanie 1591486.2.6.3.6.4.6.5.CZ7.1.III. KOD TESTU161163164Testy uruchamiane w ramach automatycznych kompilacji7.1.1.Anatomia skryptu kompilacji 1657.1.2.Inicjowanie kompilacji i integracji 167Rozdzia 7. Hierarchie testów i ich organizacjaKup książkęPoleć książkę87.2.Spis tre ciKlasyfikacja testów na podstawie szybko ci i typu 1687.2.1.Czynnik ludzki oddzielenia testówjednostkowych od testów integracyjnych 1697.2.2.Bezpieczna zielona strefa 170Zadbanie o umieszczenie testów w repozytorium z kodem ród owym 171Odwzorowanie klas testowych na testowany kod 1717.4.1.Odwzorowanie testów na projekty 1717.4.2.Odwzorowanie testów na klasy 1727.4.3.Odwzorowanie testów na punkty wej ciametod konkretnych jednostek pracy 173Wstrzykiwanie zale no ci cross-cutting 173Budowanie API obs ugi testów dla aplikacji 1767.6.1.Wykorzystanie wzorców dziedziczenia w klasach testowych 1767.6.2.Tworzenie narz dziowych klas i metod obs ugi testów 1897.6.3.Zapoznanie deweloperów ze stworzonym API 190Podsumowanie 1917.3.7.4.7.5.7.6.7.7.Rozdzia 8. Filary dobrych testów jednostkowych8.1.1931948.2.8.3.8.4.Pisanie wiarygodnych testów 1948.1.1.Decydowanie o tym, kiedy nale y usun lub zmodyfikowa testy8.1.2.Unikanie logiki w testach 1998.1.3.Testowanie tylko jednego aspektu 2018.1.4.Oddzielenie testów jednostkowych od integracyjnych 2028.1.5.Zapewnienie przegl dów kodu 203Pisanie testów atwych w utrzymaniu 2058.2.1.Testowanie metod prywatnych lub chronionych 2058.2.2.Usuwanie duplikatów 2078.2.3.Korzystanie z metod konfiguracyjnychw sposób u atwiaj cy utrzymanie 2108.2.4.Wymuszanie izolacji testu 2138.2.5.Unikanie wielu asercji dotycz cych ró nych aspektów 2208.2.6.Porównywanie obiektów 2228.2.7.Unikanie nadmiernej specyfikacji 225Pisanie czytelnych testów 2278.3.1.Nazwy testów jednostkowych 2278.3.2.Nazwy zmiennych 2288.3.3.Dobre komunikaty asercji 2298.3.4.Oddzielenie asercji od akcji 2308.3.5.Konfigurowanie i rozbiórka 231Podsumowanie 231CZ9.1.IV. PROJEKTOWANIE I PROCES233235236Jak zosta agentem zmian? 2369.1.1.B d przygotowany na trudne pytania 2369.1.2.Przekonaj inne osoby z organizacji: mistrzów i oponentów9.1.3.Okre lenie mo liwych punktów wej cia 237Rozdzia 9. Wdra anie testów jednostkowych w organizacjiKup książkęPoleć książkę [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • shinnobi.opx.pl