Testy- jednostkowe to potężne narzędzie dla programistów, aby zapewnić jakość swojego kodu. Umożliwiają one testowanie funkcji w izolacji i upewnienie się, że działają zgodnie z oczekiwaniami. W tym przewodniku pokażę ci, jak napisać swój pierwszy test jednostkowy w Pythonie. Nauczysz się nie tylko podstaw testowania jednostkowego, ale także jak efektywnie konstruować swoje testy.
Najważniejsze wnioski
- Testy jednostkowe pomagają wczesnym wykrywać błędy i zapewniają, że twoje funkcje działają zgodnie z oczekiwaniami.
- Biblioteka Pythona unittest oferuje prosty sposób na implementację testów.
- Efektywne testy obejmują zarówno scenariusze pozytywne, jak i negatywne, a także sprawdzają typy danych zwracanych wartości.
Podręcznik krok po kroku
Krok 1: Przygotowanie projektu
Na początek potrzebujesz pliku Pythona, w którym zdefiniowana jest twoja funkcja. W naszym przykładzie nazwiemy plik preisberechnung.py. Tam zdefiniujesz funkcję get_verkaufspreis, która przyjmuje cenę zakupu i dodaje marżę.

Krok 2: Utwórz plik dla swoich testów jednostkowych
Następnie utwórz nowy plik, który będzie zawierał testy dla tej funkcji. Nazwijmy ten plik preisberechnung_test.py. Tam będziesz pracować z modułem unittest.
Aby wykorzystać framework, importuj go na początku swojego pliku:

Krok 3: Zdefiniuj klasę testową
Klasa testowa powinna dziedziczyć po unittest.TestCase. Umożliwi to organizowanie wszystkich testów w uporządkowanej formie. Nazwij klasę PreisberechnungTest, aby wyraźnie określić, co jest testowane.

Krok 4: Napisz swoje testy
Teraz nadszedł czas na napisanie rzeczywistych testów. Zacznij od testu, który sprawdza, czy zwrócona wartość z get_verkaufspreis ma oczekiwany typ (float):

Krok 5: Testuj nieprawidłowe wejścia
Również ważne jest testowanie nieprawidłowych danych wejściowych. Dodaj test, który sprawdza, czy funkcja zgłasza wyjątek przy nieprawidłowych wejściach, takich jak None lub ciąg znaków:

Krok 6: Uruchamianie testów
Aby uruchomić swoje testy, możesz to zrobić albo z terminala, albo bezpośrednio w swojej IDE. Jeśli używasz terminala, wykonaj następującą komendę:
W swojej IDE, takiej jak PyCharm, możesz użyć konfiguracji uruchamiania, aby przeprowadzić testy.

Krok 7: Sprawdzenie wyników
Jeśli twoje testy zostaną pomyślnie przeprowadzone, otrzymasz wynik, który pokaże, czy wszystkie testy zostały zaliczone. Zielony wynik oznacza, że twój kod działa zgodnie z zamierzeniem.
Krok 8: Rozszerzanie testów
Oprócz podstawowych testów możesz dodać dodatkowe istotne scenariusze, aby zwiększyć bezpieczeństwo kodu. Pamiętaj, aby testować zarówno przypadki pozytywne, jak i negatywne, aby upewnić się, że twoja logika działa we wszystkich sytuacjach.

Podsumowanie - Pierwszy test jednostkowy w Pythonie: podstawy i wdrożenie
Pisanie testów jednostkowych to umiejętność, która pomoże ci uczynić swój kod niezawodnym. W tym przewodniku nauczyłeś się, jak napisać swój pierwszy test jednostkowy w Pythonie, od definicji funkcji po uruchomienie i weryfikację wyników. Dokładne testy znacznie poprawiają konserwację twojego kodu i wczesne wykrywanie problemów.
Często zadawane pytania
Jak utworzyć test jednostkowy w Pythonie?Aby utworzyć test jednostkowy w Pythonie, utwórz klasę testową, która dziedziczy po unittest.TestCase, i napisz testy jako metody tej klasy.
Dlaczego warto pisać testy jednostkowe?Testy jednostkowe pomagają w wczesnym wykrywaniu błędów i zapewniają, że twoje funkcje działają zgodnie z oczekiwaniami.
Jak wykonać testy jednostkowe?Możesz wykonać testy jednostkowe przez terminal, używając polecenia python -m unittest [nazwa_pliku], lub bezpośrednio w swojej IDE.
Jakie są dobre praktyki testów jednostkowych?Dobrą praktyką jest obejmowanie zarówno pozytywnych, jak i negatywnych scenariuszy testowych, a także sprawdzanie typów danych. Ważna jest również regularność ich uruchamiania, aby natychmiast monitorować zmiany w kodzie.