VC7.1 で cppunit その2

しばらくいじる時間がなくて前回から間が開いてしまいました。

前回、cppunit のインストールはできたので、http://www.unittest.org/ から、河童をダウンロードし、その中の子河童(cocuppa)と子馬(couma)をビルド。これらを使って、ひな形をねつ造することにします。
が、できたひな形でビルドが通りません。

結構悩んだんですが、結局のところ、次の 2 点が重要です。(今回は、2 番目の設定ができてませんでした)
・実行時型情報(RTTI)を有効にする。(プロジェクトのプロパティの、[C/C++]→[言語]→[ランタイム型情報を有効にする] を「はい (/GR)」にする)
・マルチスレッド DLL 版のランタイムライブラリを使う。(同プロパティの、「C/C++]→[コード生成]→[ランタイム ライブラリ] を Debug 版なら「マルチスレッド デバッグ DLL (/MDd)」に、Release 版なら「マルチスレッド DLL (/MD)」にする)

main() 関数は cocuppa に作らせると、ある程度高機能なものを作ってくれるんですが、そこまで必要としないので、それを参考に必要な部分だけとってきて、自分専用なコードなどを加えました。
main() 関数の中はこんな感じ。

char OutputFile[] = "TestResult.txt";
int main(int argc, char* argv[])
{
    CppUnit::TextUi::TestRunner runner;
    runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());

    std::ofstream outputFile(OutputFile);

    CppUnit::Outputter* outputter = new CppUnit::CompilerOutputter(&runner.result(), outputFile);
    runner.setOutputter(outputter);
    bool result = runner.run();

    outputFile.close();

    ::ShellExecute(NULL, "open", OutputFile, NULL, NULL, SW_SHOWDEFAULT);
    return (result) ? 0 : 1;
}

テストケースを追加してたら、さっそくバグが見つかるし…。
[PR]
by hironytic | 2004-05-02 15:22 | 情報
<< [CoveredCalc] 演... VC7.1 で cppunit >>