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.下準備
ArduinoIDEに単体テストライブラリAUnit
を追加します。
- キーワードに
unit test
を入れる
- 「インストール」ボタンを押す
4.チュートリアルチャレンジ
AUnitのチュートリアルを試行
実行結果
シリアルモニタに、テストの結果が出力されます。