*

C言語でEV3開発(6)

公開日: : 最終更新日:2015/03/24 マインドストーム/EV3, 開発

どもです。
今回のエントリーは、前回のエントリーの続き、google testでの単体テスト環境についてです。

前回のエントリーでは、google testのコードをプロジェクトに取り込み、テストコードと一緒にビルドする方法について書きました。
そこで今回は、google testを静的ライブラリとしてビルド、リンクして実行ファイルを生成する方法について紹介します。

なお、google testのコードをダウンロード・展開してあることを前提とします。
場所は、

を想定します。

1. 静的ライブラリのビルド
では、実際にビルドするための手順を、以下に示します。

以上、最後に静的ライブラリが2つ作成されています。

2. 静的ライブラリのリンクの設定
ここでは、静的ライブラリをリンクするための設定について記載します。
といっても、手順は簡単。
eclipseのプロジェクトプロパティで、[C/C++ビルド]-[設定]-[ツール設定]-[GCC C++Linker]-[ライブラリー]で、以下の設定を行います。
[ライブラリー(-l)]
pthread
gtest
gtest_main

[ライブラリ検索パス(-L)]
(“1.”のビルドの手順で、静的ライブラリが出力されたディレクトリ)

以上で、ライブラリの設定は完了です。

3. テストコード
実際にライブラリを使用したテストコードと、テストの実行です。

まず、以下のようなクラス、およびメソッドを作成します。

次にテストコードです。今回は、「TestFunction」というメソッドのテストを実行します。
実際のテストコードは、以下。

なお、コード上の”gtest/gtest.h”をインクルードするためには、”gtest/include”フォルダをインクルードパスに追加しておく必要があります。
これまでの設定、およびコードを作成してビルドします。
ビルドされたファイルを実行することで、単体テストが実行されます。
なお、今回の結果では、以下のようになります。
google_test_sample_result_1
テストの内容は、非常に単純なので、ここは割愛します。
結果を見ての通り、1ケースのテストが実行され、結果が「OK」となっています。

以上がgoogle testをライブラリ化し、それを使用して単体テストを実行するための手順になります。
ではっ!

関連記事

RasPi_Qt

QtでRaspberryPi/GUI開発(4):イベントハンドラの設定

どもです。 前回のエントリーで、「タッチスクリーンを買った」と書きました。 今回からは、このタッ

記事を読む

no image

C言語でEV3開発(15)-TOPPERS/HRP2 EV3 で PID制御

どもです。 今回のエントリーは、コレまでのエントリーから内容を変えて、モーターの動作の制御をします

記事を読む

raspberry-pi

RaspberryPi3対応のタッチスクリーンを買いました

どもです。 ついに、念願のRaspberryPi3対応のタッチスクリーンを買いました。 今回のエ

記事を読む

MindStormControl_SprachScreen

EV3開発サポートツール(1)-C#のユーザーコントロール開発

どもです。 突然ですが、今回はC#に関するエントリになります。 具体的には、C#/WPFで、独自

記事を読む

no image

QtでRaspberryPi/GUI開発(3):ためしに時計を作ってみた(其の参)-StyleSheetの適用

どもです。 前回のエントリーでは、グループ化されたボタンに対するイベントハンドラについて書きました

記事を読む

OpenCvLogo

RaspberryPiで物体検出(1)-白線検出への挑戦(1):輪郭検出による白線検出

どもです。 今回は、OpenCvを用いて道路の白線検出について、です。 1.今回の環境 O

記事を読む

no image

C言語でEV3開発(11)-opOUTPUT_STEP_POWERコマンド

どもです。 今回のエントリーでは、再びモーターを動かすためのコマンドについて書きます。 コマンド

記事を読む

eclipse_oxygen

Eclipse/CrossCompile環境でプロジェクトをクリーンできない

どもです。 今回は、Eclipseでクロスコンパイル環境を作成した場合、を実行すると「指定されたフ

記事を読む

raspberry-pi

RaspberryPiで物体検出(2)-白線検出への挑戦(2):輪郭検出による白線検出(実機編)

どもです。 今回は、前回に引き続きOpenCvを用いて道路の白線検出について、です。 1.今

記事を読む

eclipse_4.3_kepler

elicpse/CDTでのgdbでのソースを追従したデバッグができない問題

どもです。 今回のエントリーは、Eclipse上でgdbを利用したデバッグ中に発生する問題について

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

raspberry-pi
QtでRaspberryPi/GUI開発(7):pigpioを使用したチャタリング対策の問題

どもです。 前回のエントリーで、pigpioを使用したチャタリング対

RasPi_Qt
QtでRaspberryPi/GUI開発(6):pigpioを使用したチャタリング対策

どもです。 前回のエントリーで、pigpioを使用したボタンを使用し

RasPi_Qt
QtでRaspberryPi/GUI開発(5):pigpioを使ってみた

どもです。 RaspberryPiを購入して、LEDも手に入れたので

RasPi_Qt
QtでRaspberryPi/GUI開発(4):イベントハンドラの設定

どもです。 前回のエントリーで、「タッチスクリーンを買った」と書きま

raspberry-pi
RaspberryPi3対応のタッチスクリーンを買いました

どもです。 ついに、念願のRaspberryPi3対応のタッチスクリ

→もっと見る

PAGE TOP ↑