*

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をライブラリ化し、それを使用して単体テストを実行するための手順になります。
ではっ!

関連記事

eclipse_oxygen

Linux/EclipseでRaspberryPiのクロス環境を構築してみた…がっ!

どもです。 前回のエントリでは、WindowsにRaspberryPi3のクロスコンパイル環境の構

記事を読む

EF_GRY-OR_png

Eclipseで単体テストするときの注意点(?)

どもです。 今回のエントリは、Eclipse/cygwinで単体テストを行う際にハマってしまっ

記事を読む

Splash

EV3開発サポートツール(3)-Ev3Controller

どもです。 今回は、以前ちらりと紹介した、Ev3のモーターの出力を調整するアプリケーションについて

記事を読む

Rasp_DHT11

温度(湿度)センサを使ってみた(2)-RaspberryPi/pigpioでDHT11

どもです。 前回は、DHT11をAdrudinoにつないで温度/湿度を測定してみました。 そこで

記事を読む

raspberry-pi

libpigpioでのRaspberryPi3とArduinoのSPI通信

どもです。 今回は、libpigpioを使用してRaspberryPi3とArduinoでSPI通

記事を読む

GitHub

Windowsでのカバレッジ測定-OpenCppCoverageを使ってみた(2)

どもです。 前回のエントリーで、OpenCppCoverageというカバレッジを測定する、フリーの

記事を読む

eclipse-juno-logo

C言語でEV3開発(2)

どもです。 今回のエントリーの内容は、前回に引き続き「EV3の開発環境の構築」の追記です。

記事を読む

RasPi_Qt

Rasbianの新しいバージョンが出たので、クロス環境を更新してみた。(さらにその後)

どもです。 前回の投稿から、かなり時間が空いてしまいましたが、今回は前回の続きとして、「QtC

記事を読む

iot_raspberrypi_gateway_001_eye_catch

IoT開発(8)
RaspberryPiをIoTゲートウェイにする(II)-ex
MariaDBにPHPからアクセス

どもです。 このエントリは、前回のエントリの追加項目です。 前回のエントリ内でMariaDB

記事を読む

toppers

C言語でEV3開発(25)-Q_Learningを実装してみた…が!?

どもです。 今回の内容は、「失敗しました」という内容です。 最近、流行になっている深層学習/

記事を読む

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="">

c_sharp_eye_catch
セルに「取り消し線」が設定されているかを判定してみた

どもです。 前回、前々回と、エクセルのセル内の文字列から、「取り

c_sharp_eye_catch
セル内の「取り消し線で消された文字列」の削除を簡単にしてみた

どもです。 前回、C#/OpenXmlを用いて、エクセルのセル内

c_sharp_eye_catch
セル内の「取り消し線で消された文字列」を削除してみた

どもです。 今回は、C#/OpenXmlの組み合わせで、エクセル

c_sharp_eye_catch
C#でバッファの内容を表示する処理を実装してみた-
データ型に従って動的に書式を設定する

どもです。 最近、C#でバッファ/配列の値をコンソールに表示した

arduino_relay_switch_003_self_preservation_circuit_eye_catch
Arduinoでリレースイッチ(3)-自己保存回路

どもです。 前回の記事で、リレースイッチ「AE-G5V-DRV」

→もっと見る

PAGE TOP ↑