0Pricing
Flask Academy · Lekcja

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 == 200

Odczytywanie 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 body

Sprawdzanie 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.data

Parsowanie 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 data

Sprawdzanie 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_type

Testowanie 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 == 404

Testowanie 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 == 201

Sprawdzanie 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'] == 1

Jedno 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

  1. Klient testowy i fixture'y
  2. Sprawdzanie tras i JSON-a
  3. Izolowanie testów za pomocą testowej bazy danych
  4. Testowanie uwierzytelnionych endpointów
← Powrót do Flask Academy