Test-Driven Development w Pythonie. Praktyczne tworzenie aplikacji z Django, Selenium i JavaScript. Wydanie III Harry J.W. Percival
- Autor:
- Harry J.W. Percival
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- Stron:
- 624
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis
książki
:
Test-Driven Development w Pythonie. Praktyczne tworzenie aplikacji z Django, Selenium i JavaScript. Wydanie III
Dla kogo jest ta książka?
Ta książka jest dla programistów Pythona na poziomie początkującym-średniozaawansowanym, którzy chcą wejść w TDD w realnym projekcie webowym i od razu przenieść dobre praktyki do pracy zespołowej. Skorzystają z niej szczególnie twórcy aplikacji w Django, QA/SDET i developerzy automatyzujący testy (Selenium), a także osoby wdrażające aplikacje w produkcji (Docker, Ansible, CI) i chcące ograniczyć regresje oraz niestabilne testy. Wystarczy podstawowa znajomość Pythona i web developmentu; książka prowadzi krok po kroku od pierwszych testów, przez refaktoryzację, po wdrożenie i testowanie frontendu w JavaScripcie.
Czego się nauczysz?
- Stosowania podwójnej pętli TDD: test funkcjonalny -> testy jednostkowe -> implementacja -> refaktoryzacja
- Pisania testów funkcjonalnych aplikacji webowej z użyciem Selenium
- Tworzenia i uruchamiania testów jednostkowych w Django z modułem unittest
- Projektowania widoków, tras URL i szablonów w Django w oparciu o testy
- Testowania obsługi formularzy, żądań POST, przekierowań i kontraktu frontend-backend
- Modelowania danych w Django ORM oraz wykonywania migracji bazy danych pod kontrolą testów
- Usprawniania testów funkcjonalnych przez izolację, jawne oczekiwania i eliminację time.sleep()
- Testowania plików statycznych, integracji Bootstrapa i stabilnej weryfikacji kluczowej zawartości HTML
- Konteneryzowania aplikacji Django w Dockerze oraz diagnozowania problemów sieciowych i uruchomieniowych
- Przygotowywania aplikacji do produkcji z Gunicornem, WhiteNoise i konfiguracją zmiennych środowiskowych
- Automatyzowania wdrożeń serwera jako kodu z Ansible, SSH i testami wdrożeniowymi
- Porządkowania testów przez dzielenie na pliki, metody pomocnicze i dekorator wait
- Implementowania uwierzytelniania bez hasła (,,magiczne linki") wraz z testami i obsługą e-maili
- Izolowania zależności zewnętrznych za pomocą unittest.mock, patchowania i kontrolowania zachowania imitacji
- Pisania kodu JavaScript zgodnie z TDD z użyciem Jasmine oraz testowania DOM i integracji z CSS
- Konfigurowania ciągłej integracji (CI) dla testów Pythona, Selenium i JavaScriptu oraz radzenia sobie z niestabilnymi testami
Testowanie ma niezwykle istotne znaczenie w pracy programisty. Harry spisał się doskonale przyciągnął naszą uwagę, wyjaśniając praktyki stosowane podczas testowania.
Michael Foord, programista Pythona, autor modułu unittest
Ta książka to znacznie więcej niż wprowadzenie do programowania sterowanego testami w Pythonie. To pełny kurs przedstawiający najlepsze praktyki od początku do końca.
Kenneth Reitz, członek Python Software Foundation
Programowanie sterowane testami (TDD) to jedna z najważniejszych kompetencji współczesnego programisty. W świecie, w którym jakość kodu, szybkość wdrożeń i niezawodność systemów decydują o sukcesie projektów, TDD przestało być niszową techniką stało się standardem w profesjonalnych zespołach deweloperskich. Python, jako jeden z najpopularniejszych języków programowania na świecie, zyskuje coraz więcej zastosowań w tworzeniu aplikacji webowych, a Django pozostaje wiodącym frameworkiem w tym ekosystemie. Połączenie TDD z nowoczesnymi narzędziami, takimi jak Docker, Ansible czy Selenium, odpowiada na realne potrzeby rynku IT, na którym DevOps i automatyzacja wdrożeń są dziś absolutną koniecznością.
Trzecie wydanie tego uznanego przewodnika prowadzi czytelnika przez kompletny proces tworzenia aplikacji webowej w Pythonie 3.14 i Django 5 od pierwszego testu aż po wdrożenie produkcyjne. Autor krok po kroku pokazuje, jak definiować testy przed napisaniem kodu, konteneryzować aplikację za pomocą Dockera, automatyzować wdrożenia przy użyciu Ansible, a także testować interakcje przeglądarkowe za pomocą Selenium. Omawia również obsługę plików statycznych, konfigurację środowiska produkcyjnego, mechanizmy uwierzytelniania bez hasła i izolację testów za pomocą obiektów imitacji. Całość utrzymana jest w duchu małych, ale pewnych kroków zgodnie z filozofią TDD.
W książce:
- Pełny przepływ pracy TDD: od pisania testów, przez implementację, po refaktoryzację
- Konteneryzacja aplikacji Django z użyciem Dockera i przygotowanie jej do wdrożenia produkcyjnego
- Automatyzacja wdrożeń na serwerze za pomocą narzędzia Ansible (infrastruktura jako kod)
- Testowanie interakcji przeglądarkowych przy użyciu Selenium i testy jednostkowe logiki biznesowej
- Izolacja zależności zewnętrznych i własnych modułów za pomocą obiektów imitacji (unittest.mock)
- Konfiguracja ciągłej integracji (CI) i automatyczne uruchamianie testów
- Tworzenie frontendu z kodem JavaScript pisanym zgodnie z podejściem TDD
Najpierw pisz testy i wdrażaj pewnie. TDD w Pythonie od A do Z
Wybrane bestsellery
Helion - inne książki
Dzięki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep@helion.pl
Książka drukowana

Oceny i opinie klientów: Test-Driven Development w Pythonie. Praktyczne tworzenie aplikacji z Django, Selenium i JavaScript. Wydanie III Harry J.W. Percival
(0)