
正文
【转】linux下cppunit的安装
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
以下内容来自: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





