編集:チェック プロジェクト ページに単体テスト フレームワークとしてチェックを使用するプロジェクトのリストがあります。一部のリンクは古くなっていますが、ピグメントとSCEWの単体テストのソースを参照できます。他の人のためにソースをダウンロードする必要があります。
minunitには依存関係がまったくなく、独自のフレームワークを構築するためのベースとして使用できます。
アプローチに関する限り、私は最下位レベルの関数 (葉) から始めます。非常に頻繁に、高レベルの関数をテストしているときに、低レベルの関数が呼び出されます。下位機能は既にテストされているため、これは問題ではありません。
また、コードを「オブジェクト」またはオブジェクトのテーブルとしてモジュール化します。スタブ関数を使用すると、ハードウェアまたは他のコンポーネントを分離してテストできます。
それらを削除する定義を使用して static を削除するか、テストする関数を含むソース ファイルを単体テスト ソース ファイルに含めます。
#if defined(UNIT_TESTING)
#define STATIC
#else
#define STATIC static
#endif
ここにはロケット科学はありませんが、これでうまくいきます。
最後に、実装ではなく動作をテストして、実装が変更されたときに単体テストが壊れないようにします。