Arduino:
Skriva tester

Hur man gör:

Arduino har inte ett inbyggt testramverk som vissa andra programmeringsmiljöer. Däremot kan du använda tredjepartsbibliotek såsom AUnit för enhetstestning av Arduino-kod. AUnit är inspirerad av Arduinos inbyggda bibliotek, ArduinoUnit, och Googles testramverk, Google Test.

Exempel med AUnit:

Först, installera AUnit via Bibliotekshanteraren i Arduino IDE: gå till Sketch > Lägg till Bibliotek > Hantera Bibliotek… > sök efter AUnit och installera det.

Därefter kan du skriva tester på följande sätt:

#include <AUnit.h>

test(ledPinHigh) {
  const int ledPin = 13;
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);
  assertTrue(digitalRead(ledPin));
}

test(ledPinLow) {
  const int ledPin = 13;
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  assertFalse(digitalRead(ledPin));
}

void setup() {
  Serial.begin(9600);
  aunit::TestRunner::run();
}

void loop() {
  // Tom
}

Efter att ha laddat upp detta test till ditt Arduino-kort, öppna seriemonitorn för att visa testresultaten. Du bör se utdata som indikerar om varje test passerade eller misslyckades:

TestRunner startade på 2 test(er).
Test ledPinHigh passerade.
Test ledPinLow passerade.
TestRunner duration: 0.002 sekunder.
TestRunner sammanfattning: 2 passerade, 0 misslyckades, 0 hoppades över, 0 fick timeout, av 2 test(er).

Detta enkla exempel demonstrerar användningen av AUnit för att testa tillståndet på en LED-pinne. Genom att skapa tester bekräftar du att din Arduino beter sig som förväntat under olika förhållanden. Med AUnit kan du skriva mer komplexa tester, testsamlingar, och njuta av funktioner som testtimeout och uppstarts/nedstängningsprocedurer för mer avancerade scenarier.