Ceedling
テストフレームワークの Unity とモック生成ツールの CMock を束ねる、組み込み向けを強く意識した C 言語用のユニットテスト・ビルドシステム。
ThrowTheSwitch.org が公開しており、Ruby で書かれ、Rake を土台にしている。Unity がアサーションを提供し、CMock はヘッダファイルを読んで全関数の偽物を自動生成し、Ceedling はどのファイルがどのテストに属するかを判断してコンパイルと実行まで行う。レジスタを叩くドライバでも、下位のモジュールをモックに差し替えればテストできる。
テストは実機ではなくホストのコンパイラで走らせるのが普通で、そこが肝だ。書き込みなしで素早くフィードバックが得られる。ロジックの誤りは見つかるが、タイミング、割り込みの順序、コンパイラの差異は拾えないため、実機でのテストの代わりにはならない。2011年に出たジェームス・グレニングの『Test-Driven Development for Embedded C』が、この手法の普及に大きく貢献した。