Doctest to prosta, ale użyteczna metoda testowania programów w języku Python. W porównaniu z testem jednostkowym doctest nie wymaga niezależnego skryptu do pisania przypadków testowych. Przypadki testowe można po prostu zapisać w informacjach doc (zawartość w potrójnych pojedynczych / podwójnych cudzysłowach) funkcji Pythona. Następnie te przypadki mogą przetestować funkcję za pomocą doctestmodułu.
Do doctestwyszukiwania Kabiny fragmenty tekstu, które wyglądają jak interaktywnych sesji Python, a następnie wykonuje te sesje, aby upewnić się, że działają one dokładnie tak jak pokazano. ( dokument w języku Python )
Użyjmy doctest do złej abs()funkcji:
Wynik jest następujący:
Jak pokazano na powyższym przykładzie, doctest jest naprawdę wygodnym i prostym sposobem na przetestowanie funkcji.
Krótko mówiąc, są tylko 3 kroki:
doctestmoduł importudoctest.testmod()do uruchomienia doctestJeśli wszystkie przypadki testowe zostaną zaliczone, doctestnic nie wydrukuje.
W programie doctest.testmodistnieje ważny parametr o nazwie verbose.
Jest ustawiona Falsedomyślnie, co oznacza, że podczas uruchamiania testu tylko przypadki zakończone niepowodzeniem będą wyświetlać szczegółowe informacje. Jeśli chcesz uzyskać pełne informacje o wszystkich sprawach, po prostu ustaw True.
if __name__ == '__main__':
doctest.testmod(verbose=True)
Właściwie nie musimy pisać if __name__ == '__main__':bloku. Doctest możemy uruchomić bezpośrednio w terminalu:
$ python -m doctest wrong_abs.py
$ python -m doctest -v wrong_abs.py
Czasami może być trochę bałaganu, jeśli umieścimy zarówno komentarze, jak i przypadki testowe pod funkcją. Bez obaw, możemy umieścić wszystkie przypadki testowe w niezależnym pliku i nadal doskonale działać doctest.
Na przykład, stwórzmy plik o nazwie test_cases.txti umieśćmy w nim przypadki testowe „w stylu doctest”:
Następnie uruchom doctest za pomocą tego polecenia:
python -m doctest test_cases.txt
Doctest to łatwa w użyciu metoda testowania programów w języku Python. Dobre wykorzystanie tej techniki może pomóc w uzyskaniu kodu wolnego od błędów.
Dziękuje za przeczytanie.
Powiązane posty:
Sześć technik debugowania dla programistów PythonaWięcej samouczków Python:
Ostateczny samouczek Pythona (aktualizuj)
Kiedy wysyłasz żądanie do facebook.com, Twój komputer wyszukuje nazwę domeny, aby przetłumaczyć tę nazwę domeny na adres IP, aby komputer mógł nawiązać to połączenie.
Na pewno słyszałeś o wszystkich nowych, potężnych wtyczkach ChatGPT, takich jak przeglądarka, interpreter kodu itp. Ale jest problem, dostęp do wtyczek jest ograniczony do listy oczekujących, przez co wielu nie ma do nich dostępu.
„Hej, Siri, zagraj w Me Dive autorstwa Olivii Dean”. W maju 2021 rozpocząłem staż w Future Academy Africa w Akure w Nigerii.
W dzisiejszym hiperpołączonym świecie systemy medialne odgrywają kluczową rolę w kształtowaniu opinii publicznej, a co za tym idzie, w demokratycznym procesie decyzyjnym. W swojej dogłębnej analizie ekonomii politycznej komunikacji uczony Robert McChesney kwestionuje konwencjonalną wiedzę i przedstawia to, co nazywa „pięcioma prawdami” o mediach.
W dzisiejszym szybko zmieniającym się krajobrazie biznesowym koncepcja pracy hybrydowej i zdalnej nabrała bezprecedensowego rozpędu. Ponieważ firmy wciąż dostosowują się do zmieniających się potrzeb i oczekiwań swoich pracowników, eksperci z różnych dziedzin zebrali się, aby omówić korzyści, wyzwania i przyszłość tego transformacyjnego sposobu pracy.