Getestet mit:Python 2.7; Python 3
Voraussetzungen:Software testing: simuliere Grenzwerte oder physische Interaktionen mit mock
0

Komplexe GPIO-Interaktionen mit call_args_list einfach testen

Angenommen, der Raspberry Pi steuert ein Relaysboard, welches eine Lampe schalten soll. Fuer Softwaretests kann die physische Interaktion mit Mock ausgeschaltet und mit call_args_list getestet werden.
light.turn_on() schaltet mit Pin 13 das Relaysboard ein und anschliessend Pin 11, welcher das Relays der Lampe einschaltet. Die Lampe leuchtet fuer 2 Sekunden, danach werden beide Pins wieder ausgeschaltet.

Dieses Verhalten kann in wenigen Zeilen getestet werden:

light.trigger_pin() wird gemockt, da sonst der Schaltvorgang physisch ausgeloest wuerde. Anschliessend wird die Lampe eingeschaltet und mit call_args_list sichergestellt, dass alle Pins in der richtigen Reihenfolge angesprochen wurden.

Links
Software testen mit Mock: http://www.knight-of-pi.org/de/software-testing-simuliere-grenzwerte-oder-physische-interaktionen-mit-mock

Knight of Pi

Johannes Bergs aka Knight of Pi. Diploma in Bioinformatics, some Webdesign and Python coding then. Living in the beautiful city of Vienna.

Kommentar

Time limit is exhausted. Please reload CAPTCHA.