hiro99ma blog

何か技術的なこと

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をトグルするだけのサービスにする。

BLEテストなし

テスト

HLSサービスのテストを追加した。
したのだが・・・。

tests/services/hls

元々 hls.c の中身がスカスカなのでモックがほとんどいらなかった。
もうちょっと面倒なサービスにしなくては。

また、bluetooth.hgatt.hのモックを作ろうと cmock_handle() に指定だけしたところコンパイルエラーになる。 最初の方しか見ていないが sizeof(struct bt_conn) だった。 struct bt_conn * の形式でしか使っていないので本体を include していないとかかもしれない。 おそらく CMock の方から調査が必要だな。

< Top page