Arduino:
编写测试

如何操作:

Arduino 没有像一些其他编程环境那样内置的测试框架。但是,您可以使用第三方库,例如 AUnit,来对 Arduino 代码进行单元测试。AUnit 受 Arduino 内置库 ArduinoUnit 和 Google 的测试框架 Google Test 的启发。

使用 AUnit 的示例:

首先,通过 Arduino IDE 中的库管理器安装 AUnit:前往 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() {
  // Empty
}

将此测试上传到您的 Arduino 板后,打开串行监视器以查看测试结果。您应该看到输出,指示每个测试是通过还是失败:

TestRunner started on 2 test(s).
Test ledPinHigh passed.
Test ledPinLow passed.
TestRunner duration: 0.002 seconds.
TestRunner summary: 2 passed, 0 failed, 0 skipped, 0 timed out, out of 2 test(s).

这个简单的示例演示了如何使用 AUnit 测试 LED 引脚的状态。通过创建测试,您确认您的 Arduino 在不同条件下的行为是否符合预期。有了 AUnit,您可以编写更复杂的测试、测试套件,并享受测试超时和为更高级场景设置/拆除程序等功能。