hotch-potch, Note to self

いろいろ作業記録

Arduinoでunittestしてみる

1.はじめに

Arduinoでの開発における、単体テストの方法を調べてみました。

2.単体テストのライブラリの例

ざっと調べた感じ、いくつかのunittestのライブラリが見つかりました。

ライブラリ名 概要 最新版 サポート
AUnit 実機上でテスト。新しめ。一部OSでは実機無しでEpoxyDuino環境でテスト可 2023 AVR, SAMD21, STM32, SAMD51, ESP8266, ESP32, Teensy
ArduinoUnit 実機上でテスト。AUnitはこれをもとに派生している模様 2019 Arduino, ESP8266, ESP32
yatest 開発環境でテスト 2023 -

関連するツールとして以下も見つけました。

ライブラリ名 概要 最新版 サポート
EpoxyDuino Linux, MacOS, FreeBSDではArduinoを開発環境上でmockしてテスト可能 2022 -
Emulation PlatformIO開発環境でESP32をmockしてテスト可能 最新版 ESP32

ざっくりまとめると、下記の状況の模様。

開発環境 実機 mock ESP32 mock Arduino
Windows ×
Linux, macOS

実機上に転送してテストは、どのOSの開発環境でもOK。 開発環境だけでのテストは、Windowsにおいては制限があるようです。

3.下準備

Windows上で実機での単体テストを試行してみます。

ArduinoIDEに単体テストライブラリAUnitを追加します。

  1. キーワードにunit testを入れる

  1. 「インストール」ボタンを押す

4.チュートリアルチャレンジ

AUnitのチュートリアルを試行

実行結果

シリアルモニタに、テストの結果が出力されます。

参考

2.インストール