トップ(最新)

nDiki : CppUnit

CppUnit

C++単体テストフレームワーク。 組み込み用などのプログラムでも使えるように修正された CppUnit-x というのもある。

支援ツールとして河童がある。

また CppUnit 1.5 から派生した C++単体テストフレームワークとして QtUnit がある。

以下 1.9.10 の頃の話。

Microsoft Visual C++ 6.0 で CppUnit を使った時のメモ

インストール (CppUnit 1.9.10)

  1. 適当なディレクトリで cppunit-1.9.10.tar.gz を展開する
  2. ワークスペース cppunit-1.9.10/src/CppUnitLibraries.dsw を Visual C++ 6.0 で開く
  3. [ビルド]->[バッチビルド...] メニューを選択。全てのプロジェクトを選択し、ビルド
    1. 依存関係とビルドの順番の問題で一度でビルドできない場合は何度か繰り返す
  4. [ツール]->[カスタマイズ] メニューを選択。CppUnit Testrunner Developer Studio Add-in を [アドインおよびマクロファイル] に追加
    • [参照]ボタンを押して、cppunit-1.9.10/lib/TestRunnerDSPlugIn.dllを追加する

スタティックリンクランタイムライブラリ用について

CppUnit のプロジェクト設定では、「使用するランタイムライブラリ」がDLLのもののみなので

等が欲しい場合は、自分で設定を修正してビルドする必要がある(CppUnit 自身のスタティックリンク/ダイナミックリンクではなくランタイムライブラリの話)

テストプログラム作成環境の整備

  1. Visual C++ 6.0 で [ツール]->[オプション] を選択。[ディレクトリ]/インクルードファイルに cppunit-1.9.10/include の絶対パスを指定
  2. 同 ライブラリファイルに cppunit-1.9.10/lib の絶対パスを指定

test fixture を書く

こんな感じ。

 #include "cppunit/TestFixture.h"
 #include "cppunit/TestSuite.h"
 #include "cppunit/TestCaller.h"
 #include "cppunit/extensions/HelperMacros.h"

 class TestClassTest : public CppUnit::TestFixture {
   CPPUNIT_TEST_SUITE(TestClassTest);
   CPPUNIT_TEST(testAAA);
   CPPUNIT_TEST_SUITE_END();
 public:

   void testAAA() {
   }
 };

assertion を書く

cppunit/TestAssert.h で定義されている CPPUNIT_ASSERT マクロファミリを使うのが便利。

 CPPUNIT_ASSERT(condition)
 CPPUNIT_ASSERT_MESSAGE(message, condition)
 CPPUNIT_FAIL(message)
 CPPUNIT_ASSERT_EQUAL(expected, actual)
 CPPUNIT_ASSERT_EQUAL_MESSAGE(message, expected, actual)
 CPPUNIT_ASSERT_DOUBLES_EQUAL(expected, actual, delta)

http://cppunit.sourceforge.net/ の Modules -> Making assertions 参照。

スポンサード リンク

Related term

no diary

■よく検索されるキーワード

torrent(58) 提案書(54) perl(42) 使い方(39) linux(34) 書き方(29) x31(28) windows(28) usb(24) 動画(22) thinkpad(21) debian(20) mp980(19) 画像(19) 壁紙(19) svn(16) サンプル(16) 作り方(16) c#(15) リフィル(14) ヨドバシ(14) 手帳(13) アジェンダとは(13) 設定(13) cvs(12) ほぼ日手帳(12) ssh(11) 感想(11) ほぼ日(11) アジェンダ(11) java(11) バッグインバッグ(10) ドラマ(10) make(10) マキノ(10) メモリ(10) tc-1(10) 加湿器(10) nikon(10) af(9) ボールペン(9) ノート(9) インストール(9) gmail(9) ハクキンカイロ(9) a6(9) gimp(9) truecrypt(9) フィルムスキャン(9) ganttproject(9) 評判(9) 充電式カイロ(9) カメラ(9) アジェンダの書き方(9) dropbox(9) 修理(9) デロンギ(8) ファイル(8) 秋葉原(8) grub(8) 変換(8) proxy(8) subversion(8) 無料(8) 口コミ(8) wiki(8) ht-01a(8) ubuntu(8) 2008(8) porter(8) 無印(7) a6ノート(7) ご査収(7) ヨドバシカメラ(7) thinkingrock(7) centos(7) the(7) gtd(7) システム手帳(7) 映画(7)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.053573s / load averages: 0.40, 0.24, 0.19
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)