Efektywne pisanie testów w języku python

Niniejsza dokumentacja został przygotowana aby przedstawić najbardziej efektywne techniki pisania testów w języku Python oraz w frameworku Django. Istnieje bardzo dużo artykułów i samouczków w internecie, ale żaden z nich nie zbiera całej wiedzy w jednym dokumencie. Są one skupione na pojedynczych elementach testowania, lub na specyficznych problemach.

Większość samouczków wykorzystuje domyślną bibliotekę UnitTest. Brakuje jednak dokumentu opisującego wspaniałe narzędzie jakim jest PyTest oraz opisu pluginów które można wykorzystać podczas pisania testów, a które w znacznym stopniu ułatwiają pracę programisty.

Niniejszy dokument został podzielony na trzy częsci. Pierwsza opisuje zastosowanie modułu PyTest wraz z kilkoma bardzo przydatnymi dodatkami. Druga część opisuje w jaki sposób efektywnie pisać testy dla frameworka Django. Trzecia część skupia się na dodatkowych narzędziach, które można wykorzystać w pracy z Django.

Aby zainstalować wszystkie opisywane paczki, należy uruchomić poniższą komendę:

$ pip install pytest pytest-xdist pytest-pudb pytest-cov pytest-django pytest-factoryboy
pytest-faker pytest-selenium pytest-mock pytest-benchmark jupyter django-extensions
django-debug-toolbar django-webtest pylama

Przydatne moduły do pracy z Django:

Indices and tables