August 19, 2005

CppTest

ライブラリを拡張する都合があってC++を書いています。そろそろコードのテストをしなければならなくなったので、CppTestというテストツールを使ってみることにしました。

C++のテストツールというとCppUnitというのが有名なよう(Cygwinのportにもあった)ですが、CppTestの方がシンプルそうだったので、こちらを使ってみることにしました。結局のところテストツールなのであまりかわらないと思いますが。

CppTestの導入ですが、ダウンロードしてコンパイル、インストールします。使い方については、他のテストツールとほとんど同じでテストをまとめるTestSuiteを作ってそれにテストを加えていくという方式をとります。テスト結果の出力はコンソール、HTMLから選べます。

最後にチュートリアル(英語)の要旨を日本語になおしておきます(続きをどうぞ)。

class ExampleTestSuite: public Test::Suite{
    public:
        ExampleTestSuite(){
            /* テストの追加 */
            TEST_ADD(ExampleTestSuite::test1);
            TEST_ADD(ExampleTestSuite::test2);
        }
    protected:
        /* 各テスト前に呼ばれる */
        virtual void setup(){}

        /* 各テスト後に呼ばれる */
        virtual void tear_down(){}
    private:
        /* 個々のテストはここに書く、使えるマクロはここ */
        void test1(){
            TEST_ASSERT(1 + 1 == 2);    
        }
        void test2(){
            TEST_FAIL("失敗!!");
        }
};

/* テストドライバ */
bool run_tests(){
    ExampleTestSuite ts;
    /* 例えばコンソールで冗長出力 */
    Test::TextOutput output(Test::TextOutput::Verbose);
    return ts.run(output, false);
}

int main(){
    run_tests();
    return 0;
}


こんなもんでしょうか。

18:05 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/418
コメント

こんにちは。

今日、自分のH8のメモを見直していて、pukiwikiへ書いていただいたコメントに気が付きました。どうもありがとうございます。

http://www.kpitgnutools.com/index-ja.php

ここで、ELF形式のgccや、HEW用の設定が落とせるようです。
いまのところ、gccでコンパイルした結果ですが、
GDLのgcc+insight+GDB+stubでは、ソースレベルデバッグができます。
でも、3052だとstubで4KのRAMがくわれるのでつらいかな。

3069用のマザボ開発を考えております。

Posted by: miw : August 27, 2005 02:01 PM

fenrirです。情報ありがとうございます。
3069用のマザボですか、興味ありです。どのようなスペックにされる予定なのでしょうか?よろしければ教えて頂けないでしょうか。

Posted by: fenrir : August 29, 2005 04:23 PM
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。