您的位置:首页 > 其它

vs2005和ubuntu安装ccpunit测试工具

2013-09-10 14:44 411 查看
一。vs2005安装cppunit

1. 下载解压文件cppunit-1.12.1.tar.gz

2.编译

a.编译前先修改src\msvc6\testrunner\MsDevCallerListCtrl.cpp文件。

把import "libid:1A31287A-4D7D-413e-8E32-3B374931BD89" version("7.0") lcid("0") raw_interfaces_only named_guids中的7.0改为8.0

b.用vs2005打开工程cppunit-1.12.1/src/cppunit/CppUnitLibraries.dsw。由于是VC工程格式。会自动转化。yes to all就行。

c.打开“Build”菜单,选择“Batch Build...”,弹出“Batch Build...”对话框后点击“Select All”,然后Build。

3.vs2005中打开“Tools | Options...”,切换到Projects and Solutions->VC++ Directories标签页,选择‘include files',添加CPPUNITHOME/include/;切换到'libraries files'标签页,添加CPPUNITHOME/lib/;切换到'source files'标签页,添加CPPUNITHOME/src/cppunit/,保存。

4.测试工程配置

a.Project->properties->Linker->General标签页的Link Library Dependencies设为yes,Additional Library Diretories设为CPPUNITHOME/lib.

b.Project->properties->Linker->Input标签页的Additional Dependencies添加:Debug时为cppunitd.lib
testrnunerd.lib Realease时为:cppunit.lib testrunner.lib

5.常见错误

d:\cppunit-1.12.0\cppunit-1.12.0\src\msvc6\dsplugin\stdafx.h

(12) : fatal error C1189: #error : This add-in is for VC++ 6.0

?only.

解决:不用处理
二.ubuntu安装cppunit

1、下载、解压

到http://sourceforge.net/projects/cppunit下载,然后复制cppunit-1.11.6.tar.gz到/usr/src;
运行:tar -xf cppunit-1.10.2.tar.gz 解压缩;
2、安装
进入cppunit-1.11.6目录下。依次运行下列命令
A :./configure;
B :make;
C :make check;
D:make install
3、copy *.h文件
.o, .a文件已经安装到/usr/local/lib中去了,但头文件没安装到/usr/include中去
把cppunit-1.10.2的cppunit目录复制到/usr/include下
4、导入lib
运行时要先设置环境变量LD_LIBRARY_PATH到cppunit的安装目录,也就是/usr/local/lib,命令如下:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
你也可以设置到配置文件,不然下次启动shell是环境变量将不再生效
编辑~/.bashrc 添加上述命令。

完成。你可以编写你的测试代码了。下面我在网上看了一个很简单的测试代码

#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>

class Test : public CPPUNIT_NS::TestCase

{

CPPUNIT_TEST_SUITE(Test);

CPPUNIT_TEST(testHelloWorld);

CPPUNIT_TEST_SUITE_END();

public:

void setUp(void) {}

void tearDown(void) {}

protected:

void testHelloWorld(void) { std::cout << "Hello, world!" << std::endl; }

};

CPPUNIT_TEST_SUITE_REGISTRATION(Test);

int main( int argc, char **argv )

{

// Create the event manager and test controller

CPPUNIT_NS::TestResult controller;

// Add a listener that colllects test result

CPPUNIT_NS::TestResultCollector result;

controller.addListener( &result );

// Add a listener that print dots as test run.

CPPUNIT_NS::BriefTestProgressListener progress;

controller.addListener( &progress );

// Add the top suite to the test runner

CPPUNIT_NS::TestRunner runner;

runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );

runner.run( controller );

return result.wasSuccessful() ? 0 : 1;

}

编译,运行

有两种方法
(a) 链接静态库。编译命令:
g++ -L/usr/local/lib/libcppunit.a testApp .cpp -lcppunit -ldl -o
testApp
运行:
./ testApp
结果:

: OK
(b) 链接动态库。编译命令:
g++ testApp.cpp -lcppunit -ldl -o testApp
然后运行:
./ testApp
结果:
Test::
: OK
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: