「CppUnit」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「<!-- vim: filetype=mediawiki --> CppUnit は、 C++ 向けのユニットテストフレームワークです。 読み方 ;CppUnit: しーぴーぴー ...」)
(相違点なし)

2013年3月5日 (火) 23:35時点における版


CppUnit は、 C++ 向けのユニットテストフレームワークです。

読み方

CppUnit
しーぴーぴー ゆにっと

概要

インストール

FreeBSDにインストールする場合

ports コレクションからインストールする場合

cd /usr/ports/devel/cppunit
sudo make install clean

pkgコマンドでインストールする場合

sudo pkg install cppunit

portmasterコマンドでインストールする場合

sudo portmaster -y -d /usr/ports/devel/cppunit

CentOSにインストールする場合

CentOS に yum コマンドでインストールする場合。

sudo yum -y install cppunit cppunit-devel cppunit-doc

テストフレームワークのサンプルコード

foo.hpp

プログラムの実体。

#ifndef FOO_HPP
#define FOO_HPP
class foo {
        public:
                int add(int a, int b) {
                        return a+b;
                }
};
#endif // FOO_HPP

テストコード

fooTest.hpp

テストコードの実体。

#include <cppunit/TestCase.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/ui/text/TestRunner.h>
 
#include "foo.hpp"
 
class fooTest: public CppUnit::TestFixture {
 
        CPPUNIT_TEST_SUITE ( fooTest );
        CPPUNIT_TEST ( test_add );
        CPPUNIT_TEST_SUITE_END ();
 
        private:
 
        foo *f;
 
        public:
        void setUp () {
                f = new foo ();
        }
 
        void tearDown () {
                delete f;
        }
 
        void test_add () {
                CPPUNIT_ASSERT ( f->add(1,2) == 3 );
        }
};

fooMain.cpp

#include "fooTest.hpp"
 
int
main(int argc, char *argv[])
{
        CppUnit::TextUi::TestRunner runner;
        runner.addTest( fooTest::suite() );
        runner.run();
        return 0;
}

コンパイル

g++ -I. `cppunit-config --cflags`  `cppunit-config --libs` fooMain.cpp

実行例

% ./a.out
.
 
 
OK (1 tests)

関連項目