以下内容来自:http://www.51testing.com/html/51/279751-170160.html

1. 安装

cppunit的下载地址为:http://sourceforge.net/projects/cppunit/files/cppunit/。从中选择一个最新的版本,下载到Linux上。(不要下载cppunit-cvs-repo-archive.tar.bz2)

1) 解压
$mv cppunit-1.12.1.tar.gz /usr/src
$tar -xf cppunit-1.10.2.tar.gz

2)安装
$cd cppunit-1.12.1
$./configure
$make
$make check
#make install

3)复制.h文件
安装完成后,*.o, *.a文件已经安装到/usr/local/lib中去了,但头文件没安装到/usr/include中去,把cppunit-1.10.2的cppunit
目录复制到/usr/include下
$cp -r include/cppunit/* /usr/include

4) 配置链接库路径
$vi /etc/ld.so.conf
在其中加入一行如下:/usr/local/lib
保存后退出。
$ldconfig  (重新加载库文件)

2. 测试是否安装成功

可使用以下代码来测试cppunit是否安装成功:

#include <iostream>
#include <cppunit/TestRunner.h>
#include <cppunit/TestResult.h>
#include <cppunit/TestResultCollector.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/BriefTestProgressListener.h>
#include <cppunit/extensions/TestFactoryRegistry.h>

using namespace std;

class Test:public CPPUNIT_NS::TestCase{
    //声明一个TestSuite
    CPPUNIT_TEST_SUITE(Test);
    //添加TestCase到TestSuite
    CPPUNIT_TEST(testHelloWorld);
   /*
   //定义新的测试用例需要在这儿声明一下,可以添加更多的testCase
    */
   //TestSuite声明完成
   CPPUNIT_TEST_SUITE_END();

    public:
    void setUp(void){}
    void tearDown(void){}

    protected:
   //测试函数
    void testHelloWorld(void){
        cout << "Hello, world!" << endl;
    }
};
//注册这个TestSuite
CPPUNIT_TEST_SUITE_REGISTRATION(Test);

int main(int argc, char **argv){
    CPPUNIT_NS::TestResult controller;
    CPPUNIT_NS::TestResultCollector result;
    controller.addListener(&result);

    CPPUNIT_NS::BriefTestProgressListener progress;
    controller.addListener(&progress);

    CPPUNIT_NS::TestRunner runner;
    runner.addTest(CPPUNIT_NS::TestFactoryRegistry:getRegistry().makeTest());
    runner.run(controller);

     : ;
}

可通过静态库或动态库进行编译。下面是链接静态库,编译命令如下:

$g++ -L /usr/local/lib/libcppunit.a hellolinux.cpp -lcppunit -ldl -o hellolinux

编译选项中需要增加 -lcppunit -ldl两个选项,-lcppunit是连接cppunit的库,而cppunit的库中使用了dl库里面的函数。

若链接动态库,则编译命令如下:

$g++ hellolinux.cpp -lcppunit -ldl -o hellolinux

运行,及其结果应为:

$ ./hellolinux
Test::testHelloWorldHello, world!
: OK
04-13 14:37