Raspberry Pi w testach embedded #3: Python i pytest
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.
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 zainstalowaniu pytesta, możesz użyć komendy „pytest” aby sprawdzić, czy poprawnie zainstalowałeś framework:
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
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.