以下内容来自: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