TDD Programowanie w Javie sterowane testami.pdf

(3089 KB) Pobierz
Tytuł oryginału: Test-Driven Java Development
Tłumaczenie: Tomasz Walczak
ISBN: 978-83-283-2341-4
Copyright © 2015 Packt Publishing
First published in the English language under the title
„Test-Driven Java Development — (9781783987429)”.
Polish edition copyright © 2015 by Helion SA. All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/tddpro.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/tddpro
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
O autorach
O recenzentach
Przedmowa
Rozdzia 1. Dlaczego powiniene zainteresowa si
programowaniem sterowanym testami?
Dlaczego TDD?
Wprowadzenie do TDD
Czerwone, zielone, refaktoryzacja
Liczy si szybko
To nie testy s najwa niejsze
Przeprowadzanie testów
Testy funkcjonalne
Testy strukturalne
Ró nica mi dzy sprawdzaniem jako ci a zapewnianiem jako ci
Lepsze testy
Symulowanie dzia a
Wykonywalna dokumentacja
Brak konieczno ci debugowania
Podsumowanie
9
11
13
17
18
19
20
21
21
22
22
23
24
24
25
25
27
28
Rozdzia 2. Narz dzia, platformy i rodowiska
System Git
Maszyny wirtualne
Vagrant
Docker
Narz dzia do budowania kodu
rodowisko IDE
Przyk adowy projekt ze rodowiska IDEA
29
30
30
30
33
34
36
36
Kup książkę
Poleć książkę
Spis tre ci
Platformy do przeprowadzania testów jednostkowych
JUnit
TestNG
Hamcrest i AssertJ
Hamcrest
AssertJ
Narz dzia do okre lania pokrycia kodu testami
JaCoCo
Platformy do tworzenia zast pników
Mockito
EasyMock
Dodatkowe mo liwo ci atrap
Testowanie interfejsu u ytkownika
Platformy do testowania stron WWW
Selenium
Selenide
Programowanie sterowane zachowaniami
JBehave
Cucumber
Podsumowanie
36
38
40
42
42
44
44
45
46
48
50
51
52
52
52
54
55
56
58
60
Rozdzia 3. „Czerwone, zielone, refaktoryzacja”
— od pora ki, przez sukces, do doskona o ci
Przygotowywanie rodowiska z systemem Gradle i narz dziem JUnit
Tworzenie w rodowisku IntelliJ IDEA projektu wykorzystuj cego system Gradle i Jav
„Czerwone, zielone, refaktoryzacja”
Napisz test
Uruchom wszystkie testy i upewnij si , e ostatni ko czy si niepowodzeniem
Napisz kod rozwi zania
Wykonaj wszystkie testy
Przeprowad refaktoryzacj
Powtórz ca y cykl
Wymagania dotycz ce programu do gry w kó ko i krzy yk
Pisanie programu do gry w kó ko i krzy yk
Wymaganie nr 1
Wymaganie nr 2
Wymaganie nr 3
Wymaganie nr 4
Pokrycie kodu testami
Dodatkowe wiczenia
Podsumowanie
61
62
62
65
65
66
66
66
67
67
67
68
68
74
77
83
85
86
86
4
Kup książkę
Poleć książkę
Spis tre ci
Rozdzia 4. Testy jednostkowe. Koncentrowanie si na wykonywanym zadaniu,
a nie na tym, co ju zosta o zrobione
Testy jednostkowe
Czym s testy jednostkowe?
Po co stosowa testy jednostkowe?
Refaktoryzacja kodu
Dlaczego nie ograniczy si do stosowania samych testów jednostkowych?
Testy jednostkowe w TDD
Platforma TestNG
Adnotacja @Test
Adnotacje @BeforeSuit, @BeforeTest, @BeforeGroups, @AfterGroups,
@AfterTest i @AfterSuit
Adnotacje @BeforeClass i @AfterClass
Adnotacje @BeforeMethod i @AfterMethod
Argument w adnotacji @Test(enable = false)
Argument w adnotacji @Test(expectedExceptions = NazwaKlasy.class)
Podsumowanie porównania platform TestNG i JUnit
Wymagania dotycz ce zdalnie sterowanego statku
Pisanie kodu do zdalnego sterowania statkiem
Przygotowywanie projektu
Klasy pomocnicze
Wymaganie nr 1
Wymaganie nr 2
Wymaganie nr 3
Wymaganie nr 4
Wymaganie nr 5
Wymaganie nr 6
Podsumowanie
89
90
90
91
91
91
93
94
94
95
95
95
96
96
96
97
97
97
99
100
103
105
106
109
113
113
Rozdzia 5. Projekt. Je li czego nie da si przetestowa , projekt jest nieprawid owy
Dlaczego projekt ma znaczenie?
Zasady projektowe
Czwórki
Wymagania
Testowanie ostatniej wersji programu do gry Czwórki
Wymaganie nr 1
Wymaganie nr 2
Wymaganie nr 3
Wymaganie nr 4
Wymaganie nr 5
Wymaganie nr 6
Wymaganie nr 7
Wymaganie nr 8
115
116
116
118
119
119
120
121
121
122
124
124
125
126
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin