WEBアプリケーション研究室 開発ノート TOP

WEBアプリケーション研究室 開発ノート [C++] CppUnitをVisual C++ 2008 ExpressEditionで

スポンサーサイト

-------- --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

    このエントリーをはてなブックマークに追加

JUnitやPHPUnitと同じような単体テストのフレームワークCppUnit。これが元祖なのかな?Javaかな?まあ、それはいいとして、無料のVisual C++ 2008 ExpressEdition(以下VC++ee)でビルドしてみました。この辺が参考になります。

まずダウンロードします。解凍し適当な場所に置いたらcppunit\src\CppUnitLibraries.dswをVC++eeで開きます。古いバージョン用のプロジェクトなので変換のダイアログが出ますので「すべてはい」を押して変換します。こんな感じのソリューションが読み込まれると思います。
solution.jpg

ビルドします。
ビルドメニューからバッチビルドを選択してcppunitのDebugとReleaseにチェックを入れビルドします。
build.jpg

ビルドが終了したら、ここでいったんこのソリューションを閉じます。そして新規にプロジェクトを作成します。とりあえず最小のテストをするということでWin32コンソールアプリケーション>空のプロジェクトを作成しましょう。

このプロジェクトがcppunitのヘッダーファイルと先ほどビルドしたライブラリを読めるようにしなければなりません。まずヘッダーファイルへのインクルードパスを通します。プロジェクト毎に追加もできますが良く使うと思われるので今回は全プロジェクトで読めるようにしてしまいましょう。
ツール>オプション
を開いてcppunit\includeをインクルードパスに追加します。
include.jpgこのままこのダイアログでライブラリフォルダも追加できます。右のプルダウンをライブラリファイルに切り替えてインクルードの時と同じような感じでcppunit\libを追加します。

後もうひとつ、リンカにライブラリを追加しないといけません。ソリューションウィンドウから先ほど作成したプロジェクトを右クリックしプロパティを出します。
リンカ>入力を選択し追加の依存ファイルにcppunitd.libを指定します。
link.jpg

これで準備は完了です。あとはテスト用のクラスとmain関数を作ってやれば動きます。
FirstTest.h


#include

class FirstTest : public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE( FirstTest );
CPPUNIT_TEST( testFirst );
CPPUNIT_TEST_SUITE_END();

public:
void setUp();
void tearDown();
void testFirst();
};

CPPUNIT_TEST_SUITE_REGISTRATION( MoneyTest );


void MoneyTest::setUp(){ }

void MoneyTest::tearDown(){ }

void MoneyTest::testFirst()
{
CPPUNIT_ASSERT_EQUAL( 100, 100 );
}
main.cpp

#include
#include
#include
#include

int main(int argc, char* argv[])
{
CppUnit::TextUi::TestRunner runner;
runner.addTest( CppUnit::TestFactoryRegistry::getRegistry().makeTest() );
runner.setOutputter( new CppUnit::CompilerOutputter( &runner.result(), std::cerr ) );
bool wasSucessful = runner.run();

return wasSucessful ? 0 : 1;
}
Win32APIのアプリの場合どうするのでしょうか?・・・近々アップします。





スポンサーサイト

    このエントリーをはてなブックマークに追加
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。