TrueSTUDIOはSTM32の開発環境として優れていますが、CppUTestでユニットテストができるともっと便利です。
しかし、CppUTestを使うためには、TrueSTUDIOのツールチェインを使ってCppUTestをビルドする必要がありますが、公式サイトではLinux(Cygwin)環境が前提となっており、他の環境でのビルド方法がわからない方もいらっしゃると思います。
そこで、本記事ではTrueSTUIDOでCppUTestをビルドする方法を解説します。画像も多めに丁寧に解説していきますので、ぜひご参考になさってください。
目次
0.事前準備
TrueSTUDIOをインストールしておいてください。
まだの方は下記の記事を参考にインストールしてください。
1.CppUTestのダウンロード
下記の記事の『1.CppUTestのダウンロード』を参考に、CppUTestをダウンロードしてください。
【丁寧解説】CppUTestをWindowsにインストール【MinGW-w64版】
本記事では、ダウンロードしたファイルを下記のフォルダに展開したとして説明します。
2.CppUTestのビルド
2-1.CppUTest用のプロジェクトを作成
まずはCppUTest用のプロジェクトを作成しましょう。
2-2.CppUTestのソースコードをインポート
プロジェクトができたら、CppUTestのソースコードをインポートしましょう。
下記のフォルダをインポートしてください。
C:\tools\cpputest\cpputest-3.8\include
C:\tools\cpputest\cpputest-3.8\src\CppUTest
C:\tools\cpputest\cpputest-3.8\src\Platforms\Gcc
2-3.CppUTestのプロジェクトの設定を変更
ビルドに必要な設定を行いましょう。
『CppUTest』を右クリックして『Properties』からプロジェクトの設定画面を開いてください。
開いたら、左側メニューにある『C/C++ General』→『Path and Symbols』を選択してください。
この中で、設定変更を2か所行います。
1つ目は、IncludesにCppUTestのヘッダファイルの場所を追加します。
『Includes』タブの『GNU C++』に下記を追加してください。
2つ目は、『Source Location』にCppUTestのソースフォルダを登録します。
下記を登録してください。
2-4.CppUTestをビルド
設定変更が終わったらビルドしてみましょう。
『CppUTest』を右クリックして『Build Project』をクリックしてください。ビルドが始まります。
『Console』に『Build Finished』のメッセージ、『Project Explorer』の『RELEASE』フォルダの中に『libCppUTest.a』が作られていればビルド成功です。
CppUTestの方はこれで完了です。
次はCppUMockの方もビルドしてみましょう。
3.CppUMockのビルド
CppUMockのビルド方法もCppUTestと同じ流れなので、説明は簡単にさせていただきます。
3-1.CppUMock用のプロジェクトを作成
CppUTestと同様にプロジェクトを作成してください。プロジェクト名は『CppUTestExt』としておきましょう。
3-2.CppUMockのソースコードをインポート
CppUMockのソースコードをインポートしましょう。
下記のフォルダをインポートしてください。
C:\tools\cpputest\cpputest-3.8\src\CppUTestExt
3-3.CppUMockのプロジェクトの設定を変更
プロジェクトの設定画面を開いて、2か所設定変更を行いましょう。
1つ目は『Includes』です。
2つ目は『Source Location』です。
3-4.CppUMockのビルド
設定変更が終わったらビルドしてみましょう。
『CppUTestExt』を右クリックして『Build Project』をクリックしてください。
『Project Explorer』の『RELEASE』フォルダの中に『libCppUTestExt.a』が作られていればビルド成功です。
これでCppUTestとCppUMockのビルドは完了です。
4.CppUTestの利用
4-1.セッティング
ビルドが終わったらCppUTestを使いやすいようにセッティングしておきましょう。
具体的には、CppUTestを利用する際、ヘッダファイルとライブラリが必要になります。これらファイルを同じ場所に格納しておき、その場所へのパスを環境変数に登録しておくことで、後からアクセスしやすい環境にしておく、ということです。
環境変数を『CPPUTEST_HOME』として、下記のディレクトリ構造を作ってください。
├ include
│ └ ヘッダファイル一式
└ lib
├ libCppUTest.a
└ libCppUTestExt.a
例えば私の場合は、CppUTestを展開したフォルダを再利用しました。
ここには元々下記のフォルダにヘッダファイルが格納されています。
なので、下記のフォルダを別途作成してライブラリをそこに配置するだけでディレクトリ構造の作成ができます。
C:\tools\cpputest\cpputest-3.8\lib
最後に環境変数『CPPUTEST_HOME』に下記を追加すれば準備完了です。
C:\tools\cpputest\cpputest-3.8
4-2.ユニットテストを試してみる
全ての準備が完了したら実際にユニットテストを作ってみましょう。
下記の記事は開発環境が『TrueSTUDIO』ではなく『Eclipse』ですが、『TrueSTUDIO』もベースが『Eclipse』なので使い方はほとんど変わりません。
ツールチェインに『MinGW GCC』を使わず『Atollic PC Tool』を使うことに注意してください。