Arduino:
การเขียนการทดสอบ

วิธีการ:

Arduino ไม่มีกรอบการทดสอบที่ติดตั้งมาพร้อมกับระบบเหมือนสภาพแวดล้อมการเขียนโปรแกรมอื่นๆ อย่างไรก็ตาม คุณสามารถใช้ไลบรารีของบุคคลที่สาม เช่น AUnit สำหรับการทดสอบยูนิตโค้ด Arduino AUnit ได้รับแรงบันดาลใจจากไลบรารีที่ติดตั้งมาพร้อมกับ Arduino, ArduinoUnit, และกรอบการทดสอบของ Google, Google Test

ตัวอย่างกับ AUnit:

ก่อนอื่น ติดตั้ง AUnit ผ่านทาง Library Manager ใน Arduino IDE: ไปที่ Sketch > Include Library > Manage Libraries… > ค้นหา AUnit และติดตั้ง

จากนั้น คุณสามารถเขียนการทดสอบได้ดังนี้:

#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() {
  // ว่างเปล่า
}

หลังจากอัปโหลดการทดสอบนี้ลงบนบอร์ด Arduino ของคุณแล้ว เปิด Serial Monitor เพื่อดูผลลัพธ์ของการทดสอบ คุณควรจะเห็นผลลัพธ์ที่บอกว่าการทดสอบแต่ละครั้งผ่านหรือไม่ผ่าน:

TestRunner เริ่มต้นบน 2 การทดสอบ.
Test ledPinHigh ผ่าน.
Test ledPinLow ผ่าน.
ระยะเวลา TestRunner: 0.002 วินาที.
สรุป TestRunner: 2 ผ่าน, 0 ไม่ผ่าน, 0 ข้าม, 0 หมดเวลา, จาก 2 การทดสอบ.

ตัวอย่างง่ายๆนี้แสดงให้เห็นถึงการใช้ AUnit สำหรับการทดสอบสถานะของพิน LED ด้วยการสร้างการทดสอบ คุณยืนยันว่า Arduino ของคุณทำงานตามที่คาดหวังในสภาพที่แตกต่างกัน ด้วย AUnit คุณสามารถเขียนการทดสอบที่ซับซ้อนยิ่งขึ้น ชุดการทดสอบ และเพลิดเพลินกับคุณสมบัติเช่นเวลาหมดสำหรับการทดสอบ และขั้นตอนการตั้งค่า/ยุติเพื่อสถานการณ์ที่ซับซ้อนยิ่งขึ้น