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żę.

Podstawy testów jednostkowych w Pythonie: Twój wstęp

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:

import unittest
from preisberechnung import get_verkaufspreis
Python Unit-Test podstawy: Twoje wprowadzenie

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.

Podstawy testów jednostkowych w Pythonie: Twoje wprowadzenie

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):

class PreisberechnungTest(unittest.TestCase): def test_preis_ist_float(self): vk = get_verkaufspreis(100) self.assertIsInstance(vk, float)
Podstawy testów jednostkowych w Pythonie: Twoje wprowadzenie

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:

def test_invalid_input(self): with self.assertRaises(TypeError): get_verkaufspreis("nieprawidłowe")
Podstawy testów jednostkowych w Pythonie: Twój początek

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ę:

python -m unittest preisberechnung_test.py

W swojej IDE, takiej jak PyCharm, możesz użyć konfiguracji uruchamiania, aby przeprowadzić testy.

Python Unit-Test podstawy: Twój początek

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.

Podstawy Unit-Testów w Pythonie: Twoje wprowadzenie

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.