Rozdział 13 · Automatyzacja z funkcjami
Funkcje testowania
Funkcję można testować oddzielnie od całego programu, bez udziału użytkownika i bez uruchamiania całej aplikacji.
Główna praktyczna zaleta funkcji
testiruemaya_funkciya.py
def rectangle_area(w, h):
return w * h
proverki.py
rectangle_area(2, 3) == 6
rectangle_area(0, 5) == 0
rectangle_area(10, 1) == 10
Nie trzeba wprowadzać użytkowników ani całej aplikacji
Funkcję można przetestować w izolacji — wywołać bezpośrednio z określonymi wartościami i porównać z oczekiwanym wynikiem. O to chodzi testowanie jednostkowe kod.
Stół Testowy
| Loguj | Czekam | Fakt | Ukończono? |
|---|---|---|---|
classify_score(95) | „doskonały” | „doskonały” | |
classify_score(60) | „dobrze” | „dobrze” | |
classify_score(0) | „poprawka” | „poprawka” | |
classify_score(100) | granicy z góry | ? | sprawdzone |
Przypadki Krawędziowe — z rozdziału 9
Tabela testowa — bezpośrednia kontynuacja testów granicznych warunków z rozdziału 9: sprawdzamy nie tylko „zwykłe” wartości, ale też granice zakresów.
assert jest łatwym testem tego założenia
assert_primer.py
assert rectangle_area(2, 3) == 6
assert rectangle_area(0, 5) == 0
print(„Wszystkie testy przeszły”)
assert_padaet.py
assert rectangle_area(2, 3) == 7
# AssertionError
assert jest narzędziem deweloperskim, nie weryfikującym danych użytkowników
assert sprawdza założenie i podnosi AssertionErrorjeśli jest fałszywy, jest przydatny do samodzielnego testowania podczas rozwoju i debugowania. To NIE jest mechanizm weryfikacji danych użytkownika ani ochrony bezpieczeństwa – stosuje się standardowe warunki (Rozdział 9) do weryfikacji danych otrzymanych od użytkownika, tak jak już zrobiliśmy.Workflow: przykłady → kontraktów → przegląd wdrożenia →
Praktyka: Testowanie funkcji względem tabeli
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji