ncsで使うテストフレームワークはどれだ (6)
2024/09/24
前回の続き。
nRF Connect SDK がサポートする Testing with Unity and CMock を試す。
ncs の nrf/
以下でテストをそのまま動かしていたので build/
があちこち作られたままになっていた。
いちいち削除するのが面倒だったので git clean -xdf
でがさっと削除したところ west
が動かなくなってしまった。
インストール手順 を見て west init -m https://github.com/nrfconnect/sdk-nrf --mr v2.6.1
をやると復活した。
既にダウンロードは済んでいるので時間もかからず戻せたようだ。よかった。
BLEプロジェクトでテストする
GPIO だけのプロジェクトではテストの大変さがよくわからなかったので BLE 機能を使ったプロジェクトでもテストしておく。
BLE 機能は DevAcademy でちょっとやっただけなので、自作しておこう。
LEDサービス
Nordic LED Button サービス(LBS) を自作するのが DevAcademy BLE Lesson 4 Excersice 1にあるので、それを参考に作る。
LEDをトグルするだけのサービスにする。
テスト
HLSサービスのテストを追加した。
したのだが・・・。
元々 hls.c
の中身がスカスカなのでモックがほとんどいらなかった。
もうちょっと面倒なサービスにしなくては。
また、bluetooth.h
やgatt.h
のモックを作ろうと cmock_handle()
に指定だけしたところコンパイルエラーになる。
最初の方しか見ていないが sizeof(struct bt_conn)
だった。
struct bt_conn *
の形式でしか使っていないので本体を include していないとかかもしれない。
おそらく CMock の方から調査が必要だな。