【丁寧解説】CppUTestをTrueSTUDIOでビルド

TrueSTUDIOはSTM32の開発環境として優れていますが、CppUTestでユニットテストができるともっと便利です。

しかし、CppUTestを使うためには、TrueSTUDIOのツールチェインを使ってCppUTestをビルドする必要がありますが、公式サイトではLinux(Cygwin)環境が前提となっており、他の環境でのビルド方法がわからない方もいらっしゃると思います。

 

そこで、本記事ではTrueSTUIDOでCppUTestをビルドする方法を解説します。画像も多めに丁寧に解説していきますので、ぜひご参考になさってください。

 

0.事前準備

TrueSTUDIOをインストールしておいてください。

まだの方は下記の記事を参考にインストールしてください。

 

【簡単】TrueSTUDIOをWindowsにインストール

 

1.CppUTestのダウンロード

下記の記事の『1.CppUTestのダウンロード』を参考に、CppUTestをダウンロードしてください。

 

【丁寧解説】CppUTestをWindowsにインストール【MinGW-w64版】

 

本記事では、ダウンロードしたファイルを下記のフォルダに展開したとして説明します。

 

C:\tools\cpputest\cpputest-3.8

 

2.CppUTestのビルド

2-1.CppUTest用のプロジェクトを作成

まずは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

 

CppUTestのソースコードのインポート

 

2-3.CppUTestのプロジェクトの設定を変更

ビルドに必要な設定を行いましょう。

 

『CppUTest』を右クリックして『Properties』からプロジェクトの設定画面を開いてください。

開いたら、左側メニューにある『C/C++ General』→『Path and Symbols』を選択してください。

この中で、設定変更を2か所行います。

 

1つ目は、IncludesにCppUTestのヘッダファイルの場所を追加します。

『Includes』タブの『GNU C++』に下記を追加してください。

 

include

 

CppUTestのIncludes

 

『include』以外にたくさん設定がありますが、これはこのままにしてください。

 

2つ目は、『Source Location』にCppUTestのソースフォルダを登録します。

下記を登録してください。

 

/CppUTest/src

 

CppUTestのSourceLocation設定

 

『/CppUTest』は始めから登録されていますが、そのままで問題ありません。

 

2-4.CppUTestをビルド

設定変更が終わったらビルドしてみましょう。

 

『CppUTest』を右クリックして『Build Project』をクリックしてください。ビルドが始まります。

 

『Console』に『Build Finished』のメッセージ、『Project Explorer』の『RELEASE』フォルダの中に『libCppUTest.a』が作られていればビルド成功です。

 

CppUTestをTrueSTUDIOでビルド

 

CppUTestの方はこれで完了です。

次はCppUMockの方もビルドしてみましょう。

 

3.CppUMockのビルド

CppUMockのビルド方法もCppUTestと同じ流れなので、説明は簡単にさせていただきます。

 

3-1.CppUMock用のプロジェクトを作成

CppUTestと同様にプロジェクトを作成してください。プロジェクト名は『CppUTestExt』としておきましょう。

 

3-2.CppUMockのソースコードをインポート

CppUMockのソースコードをインポートしましょう。

下記のフォルダをインポートしてください。

 

C:\tools\cpputest\cpputest-3.8\include
C:\tools\cpputest\cpputest-3.8\src\CppUTestExt

 

3-3.CppUMockのプロジェクトの設定を変更

プロジェクトの設定画面を開いて、2か所設定変更を行いましょう。

 

1つ目は『Includes』です。

 

include

 

2つ目は『Source Location』です。

 

/CppUTestExt/src

 

3-4.CppUMockのビルド

設定変更が終わったらビルドしてみましょう。

 

『CppUTestExt』を右クリックして『Build Project』をクリックしてください。

 

『Project Explorer』の『RELEASE』フォルダの中に『libCppUTestExt.a』が作られていればビルド成功です。

 

CppUTestExtのビルド

 

これでCppUTestとCppUMockのビルドは完了です。

 

4.CppUTestの利用

4-1.セッティング

ビルドが終わったらCppUTestを使いやすいようにセッティングしておきましょう。

 

具体的には、CppUTestを利用する際、ヘッダファイルとライブラリが必要になります。これらファイルを同じ場所に格納しておき、その場所へのパスを環境変数に登録しておくことで、後からアクセスしやすい環境にしておく、ということです。

 

環境変数を『CPPUTEST_HOME』として、下記のディレクトリ構造を作ってください。

 

${CPPUTEST_HOME}
├ include
│ └ ヘッダファイル一式
└ lib
  ├ libCppUTest.a
  └ libCppUTestExt.a

 

例えば私の場合は、CppUTestを展開したフォルダを再利用しました。

ここには元々下記のフォルダにヘッダファイルが格納されています。

 

C:\tools\cpputest\cpputest-3.8\include

 

なので、下記のフォルダを別途作成してライブラリをそこに配置するだけでディレクトリ構造の作成ができます。

 

 

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』を使うことに注意してください。

 

【丁寧解説】CppUTestをEclipseで動かす