Sprawdzanie tras i JSON-a
Weryfikuj kody statusu i treści odpowiedzi.
Sprawdzanie tras i JSON-a to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Flask Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Flask Academy zawiera 4 lekcji w sumie.
Co należy sprawdzać
Dobry test routingu sprawdza dwie rzeczy: właściwy kod statusu i właściwą treść odpowiedzi. Jeśli oba elementy się zgadzają, wiadomo, że endpoint działa zgodnie z oczekiwaniami.
Sprawdzanie kodu statusu
Odpowiedź ma atrybut status_code. Prawidłowo działająca strona zwraca 200, więc należy to sprawdzić za pomocą asercji, aby potwierdzić, że routing zadziałał bez błędu.
resp = client.get('/')
assert resp.status_code == 200Odczytywanie surowej treści
Pełna treść odpowiedzi znajduje się w resp.data w postaci bajtów. Należy zdekodować ją do tekstu, gdy chce się wyszukiwać słowa na stronie HTML.
body = resp.data.decode()
assert 'Welcome' in bodySprawdzanie obecności tekstu
Aby potwierdzić, że strona wyświetla właściwą treść, należy sprawdzić, czy dane wyrażenie występuje w treści odpowiedzi. Prosty operator in doskonale się do tego nadaje.
assert b'Welcome' in resp.dataParsowanie odpowiedzi JSON
W przypadku routingu API należy wywołać resp.get_json(). Flask sparsuje treść do słownika lub listy w Pythonie, dzięki czemu można sprawdzać rzeczywiste wartości.
data = resp.get_json()
assert data['name'] == 'Ada'Sprawdzanie kluczy słownika
Po uzyskaniu sparsowanego słownika należy sprawdzić poszczególne klucze i wartości. Potwierdza to, że serializer zwrócił dokładnie oczekiwane pola.
data = resp.get_json()
assert data['id'] == 1
assert 'email' in dataSprawdzanie typu treści
Endpoint JSON powinien informować o swoim typie. Należy sprawdzić, czy resp.content_type zawiera application/json, aby klienci mogli poprawnie sparsować odpowiedź.
assert 'application/json' in resp.content_typeTestowanie routingu 404
Ścieżki błędów również zasługują na testy. Należy wysłać żądanie do nieistniejącego URL-a i sprawdzić, czy status to 404, potwierdzając prawidłową obsługę błędów przez aplikację.
resp = client.get('/nope')
assert resp.status_code == 404Testowanie endpointu POST
Dane należy wysłać za pomocą client.post i argumentu json. Następnie trzeba sprawdzić kod statusu utworzenia, zwykle 201, oraz zwróconą treść.
resp = client.post('/items', json={'name': 'pen'})
assert resp.status_code == 201Sprawdzanie listy JSON
Endpointy kolekcji zwracają listę. Należy ją sparsować, a następnie sprawdzić jej długość lub przeanalizować elementy według indeksu, aby zweryfikować strukturę danych.
items = resp.get_json()
assert len(items) == 3
assert items[0]['id'] == 1Jedno zachowanie na test
Każdy test powinien skupiać się na jednym zachowaniu. Małe, nazwane testy ułatwiają zauważenie błędów i znacznie poprawiają czytelność całego zestawu.
Szybkie sprawdzenie
W teście wywołano endpoint API zwracający JSON. Jak odczytać jego treść?
Podsumowanie: routing i JSON
Potrafi już Pan sprawdzać kody statusu, tekst strony i sparsowany JSON. Dzięki tym technikom można z pewnością określić zachowanie dowolnego routingu. ✅
Często zadawane pytania
Czy lekcja „Sprawdzanie tras i JSON-a” jest bezpłatna?
Tak — pełny tekst „Sprawdzanie tras i JSON-a” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Flask Academy, przejdź na CoddyKit PRO. Kurs Flask Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Sprawdzanie tras i JSON-a”?
Weryfikuj kody statusu i treści odpowiedzi. Ćwiczysz Flask Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Flask Academy?
Nie wymagamy żadnego doświadczenia. Flask Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Sprawdzanie tras i JSON-a”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Flask Academy?
Tak. Każda lekcja Flask Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Klient testowy i fixture'y
- Sprawdzanie tras i JSON-a
- Izolowanie testów za pomocą testowej bazy danych
- Testowanie uwierzytelnionych endpointów