tdd z wykorzystaniem c# 7. programowanie sterowane testami pełna wersja.pdf

(11501 KB) Pobierz
Spis tre ci
Przedmowa
O autorach
O korektorze merytorycznym
Wprowadzenie
Rozdzia 1. Dlaczego TDD jest wa ne?
Najpierw troch o nas
Historia Johna
Historia Claytona
Czym jest TDD?
Podej cie do TDD
Podej cie alternatywne
Proces
Po co zawraca sobie tym g ow ?
Argumenty przeciwko TDD
Testowanie wymaga czasu
Testowanie jest kosztowne
Testowanie jest trudne
Nie wiemy jak
Argumenty za TDD
Mniejsza pracoch onno testowania manualnego
Mniej b dów
Pewien poziom poprawno ci
Brak strachu przed refaktoryzacj
Lepsza architektura
Szybsza praca
Ró ne rodzaje testów
Testy jednostkowe
Testy akceptacyjne
9
11
12
13
17
18
18
18
19
19
20
20
21
21
21
22
22
22
23
23
23
23
24
24
24
25
25
25
Kup książkę
Poleć książkę
Spis tre ci
Testy integracyjne
Testy typu end-to-end
Liczba testów poszczególnych rodzajów
Cz ci testu jednostkowego
Aran acja
Akcja
Asercja
Wymagania
Dlaczego wymagania s wa ne?
Historie u ytkownika
Gherkin
Nasze pierwsze testy w C#
Rozwijanie aplikacji z testami
Nasze pierwsze testy w JavaScripcie
Dlaczego to ma znaczenie?
Podsumowanie
25
26
26
26
26
26
27
27
27
27
29
31
33
34
37
37
Rozdzia 2. Przygotowanie rodowiska testowego w .NET
Instalacja SDK .NET Core
Przygotowanie VS Code
Tworzenie projektu w VS Code
Przygotowanie Visual Studio Community
Pobieranie Visual Studio Community
Instalacja Visual Studio Community
Przesiadka na xUnit
Programistyczne kata
Stworzenie projektu
Czym jest Speaker Meet?
Projekt Web API
Podsumowanie
39
39
40
44
45
46
46
46
47
47
50
51
55
Rozdzia 3. Przygotowanie rodowiska testowego w JavaScripcie
Node.js
Czym jest Node?
Po co nam Node?
Instalacja Node
NPM
Szybkie wprowadzenie do IDE dedykowanych dla JavaScriptu
Visual Studio Code
WebStorm
Create React App
Czym jest Create React App?
Instalacja modu u globalnego
Tworzenie aplikacji za pomoc Reacta
Mocha i Chai
Szybkie kata sprawdzaj ce rodowisko
Wymagania
Wykonanie
Rozpocz cie kata
Podsumowanie
4
57
57
58
58
58
61
62
63
64
65
66
66
66
67
72
72
72
73
76
Kup książkę
Poleć książkę
Spis tre ci
Rozdzia 4. Co nale y wiedzie przed rozpocz ciem pracy?
Nietestowalny kod
Wstrzykiwanie zale no ci
Wyodr bnianie oprogramowania zewn trznego
Sobowtóry testowe
Frameworki imituj ce
Zasady SOLID
Powitanie zale ne od czasu
Kruche testy
Rodzaje sobowtórów testowych
Przyk ad wielopoziomowy
Podsumowanie
77
78
78
79
79
80
80
83
84
86
93
100
Rozdzia 5. Tabula rasa — podej cie do aplikacji na sposób TDD
Gdzie zacz ?
Golenie jaka
Du y projekt od razu
Czysta kartka
Po jednym kawa ku
Minimalny wykonalny produkt
Inny sposób my lenia
Nie b dziesz tego potrzebowa
Ma e testy
Adwokat diab a
Najpierw testy cie ek negatywnych
Kiedy testowanie jest bolesne
Symulacja
Najpierw asercja
B d zorganizowany
Rozbicie aplikacji Speaker Meet
Prelegenci
Spo eczno ci
Konferencje
Wymagania techniczne
Podsumowanie
101
101
102
103
103
103
104
104
104
105
106
109
113
113
114
114
114
114
115
115
115
115
Rozdzia 6. Podej cie do problemu
Zdefiniowanie problemu
Przetrawienie problemu
Epiki, funkcje i historie — ojej!
Problem Speaker Meet
Architektura heksagonalna wielowarstwowa
Architektura heksagonalna
Podstawowe, ale wydajne podzia y wielowarstwowe
Kierunek testowania
Od ty u do przodu
Od przodu do ty u
Od wewn trz na zewn trz
Podsumowanie
117
117
118
118
120
126
127
127
130
130
137
144
148
5
Kup książkę
Poleć książkę
Spis tre ci
Rozdzia 7. Sterowanie testami aplikacji C#
Przegl d wymaga
Lista prelegentów
API
Testy API
Us uga
Testy us ugi
Czyste testy
Repozytorium
Wykorzystanie fabryki z FakeRepository
Szczegó y prelegentów
API
Testy API
Us uga
Testy us ugi
Czyste testy
Co wi cej z repozytorium
Dodatkowa praca zwi zana z fabryk
Testowanie przypadków wyj tkowych
Podsumowanie
149
149
150
150
151
156
156
160
161
163
165
165
165
169
169
172
172
173
174
176
Rozdzia 8. Wyodr bnianie problemów na zewn trz
Odseparowanie problemów
Gravatar
Planowanie na przysz o
Abstrahowanie warstwy danych
Rozszerzanie wzorca repozytorium
Zapewnienie funkcji
Tworzenie generycznego repozytorium
Krok pierwszy: abstrahowanie interfejsu
Krok drugi: abstrahowanie klasy konkretnej
Krok trzeci: zmiana testów, aby wykorzystywa y repozytorium generyczne
Entity Framework
Wstrzykiwanie zale no ci
Podsumowanie
177
177
178
185
185
186
191
210
210
211
215
219
222
223
Rozdzia 9. Testowanie aplikacji napisanej w JavaScripcie
Tworzenie aplikacji za pomoc Reacta
Wyodr bnienie aplikacji
Konfiguracja bibliotek Mocha, Chai, Enzyme i Sinon
Plan
Komponent React
Rzut oka na testowalno Reduxa
Testy jednostkowe us ugi API
Lista prelegentów
Imitacja us ugi API
Akcja pobierania wszystkich prelegentów
Reduktor dla pobierania wszystkich prelegentów
Komponent listy prelegentów
225
226
226
226
228
228
229
230
230
231
235
239
240
6
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin