Raspberry Pi w testach embedded (Cz. 3) – Python i pytest

Raspberry Pi w testach embedded (Cz. 3) – Python i pytest

Poziom trudności
2/5

Gdy mamy już połączenie z Raspberry Pi za pomocą SSH (wstępna konfiguracja RPi znajduje się w poprzedniej części), zacznijmy przygotowania środowiska do testów. Językiem wiodącym w tej serii artykułów będzie Python wersji 3.5.3, podparty frameworkiem pytest w wersji 4.6.3. Są to wersje aktualnie przeze mnie używane, jednak kompatybilne będą wszystkie wersje pythona 3.x i pytesta 4.x.

Python

Python jest domyślnie zainstalowany na Raspbianie. Jedynym uniedogodnieniem może być fakt, że podstawowa komenda „python” odnosi się do Pythona w wersji 2.7.

pi@raspberrypi:~# python -V
Python 2.7.13

Jedną z metod by to zmienić jest dodanie aliasu. Nadpiszemy tym samym właściwości istniejącej komendy. Będąc w katalogu ~/ edytuj plik .bashrc

nano ~/.bashrc

Dodajemy linijkę opisującą nasz alias i zapisujemy plik:

alias python='/usr/bin/python3.5'

Po restarcie Raspberry komenda python będzie się odnosiła do wersji 3.5.

pi@raspberrypi:~# python -V
Python 3.5.3

pytest

Pytest to framework, który ułatwia tworzenie prostych i skalowalnych testów. Testy są wyraziste i czytelne. Jest popularnym narzędziem, używanym w wielu firmach. Charakteryzuje elastycznością.  Można go używać we wszystkich rodzajach testów, włącznie z testowaniem systemów wbudowanych.

Aby zainstalować pytest, na naszym Raspberry musimy zainstalować „pip”. Jest to narzędzie do instalowania pythonowych paczek. Aby zainstalować „pip” dla Python 3.5, użyj poniższej komendy:

pi@raspberrypi:~ # sudo apt-get install python3-pip

Gdy instalacja się powiedzie, możemy rozpocząć instalowanie pytesta

pi@raspberrypi:~ # pip3 install -U pytest

Po instalacji pytesta, możesz użyć komendy „pytest” aby sprawdzić, czy framework został poprawnie zainstalowany:

pi@raspberrypi:~ # pytest
============================= test session starts ==============================
platform linux -- Python 3.5.3, pytest-4.6.3, py-1.8.0, pluggy-0.12.0
rootdir: /home/pi
collected 0 items
========================= no tests ran in 0.17 seconds =========================

Jeżeli instalacja pytesta powiodła się, ale komenda pytest nie działa:

pi@raspberrypi:~ # pytest
-bash: pytest: command not found

Sprawdź, czy aby na pewno pytest został zainstalowany:

pi@raspberrypi:~ # sudo find / -name pytest
/home/pi/.local/bin/pytest

Możemy edytować plik .bashrc dodając alias dla pytesta

alias pytest='/home/pi/.local/bin/pytest'

Po restarcie RPi sprawdź, czy komenda „pytest” już działa.

Teraz jesteśmy gotowi do napisania naszych pierwszych testów. Już w następnych artykule przytoczę przykłady testów z wykorzystaniem GPIO.

Dodaj komentarz