Arduino:
Escrevendo testes

Como fazer:

O Arduino não possui um framework de teste integrado como alguns outros ambientes de programação. No entanto, você pode usar bibliotecas de terceiros, como o AUnit, para testes unitários do código Arduino. AUnit é inspirado pela biblioteca integrada do Arduino, ArduinoUnit, e pelo framework de testes do Google, Google Test.

Exemplo com AUnit:

Primeiro, instale o AUnit pelo Gerenciador de Bibliotecas no IDE Arduino: vá em Sketch > Incluir Biblioteca > gerenciar Bibliotecas… > procure por AUnit e instale.

Então, você pode escrever testes assim:

#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() {
  // Vazio
}

Após enviar este teste para sua placa Arduino, abra o Monitor Serial para ver os resultados dos testes. Você deverá ver uma saída indicando se cada teste passou ou falhou:

TestRunner iniciado em 2 teste(s).
Teste ledPinHigh passou.
Teste ledPinLow passou.
Duração do TestRunner: 0.002 segundos.
Resumo do TestRunner: 2 passaram, 0 falharam, 0 pulados, 0 expiraram, de 2 teste(s).

Este exemplo simples demonstra o uso do AUnit para testar o estado de um pino de LED. Ao criar testes, você confirma que seu Arduino se comporta conforme esperado em diferentes condições. Com o AUnit, você pode escrever testes mais complexos, suítes de teste e desfrutar de recursos como tempos limite de testes e procedimentos de configuração/encerramento para cenários mais avançados.