您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > cppUnit
软件测试实验学习笔记--CppUnit
作者: 发布时间:[ 2013/12/17 9:32:47 ] 推荐标签:

  1.2 在VC 6.0/window下安装(参考6)

  a) 从官方网站上下载CppUnit的tar包并解压到本地磁盘,比如D:CppUnit1.12.1

  b) 编译、安装CppUnit库。在VC中打开D:CppUnit1.12.1srcCppUnitLibraries.dsw,选择“Build | BatchBuild...”,选中所有的项目,点击build按钮。在D:CppUnit1.12.1lib下生成所需要的所有库文件。

  c)在Visual C++中进行设置。告诉VC在哪里能找到CppUnit中的程序文件和库文件:打开“Tools | Options...”,切换到'Directories'标签页,选择'include files',添加D:CppUnit1.12.1include;切换到'libraries files'标签页,添加CPPUNITHOME/lib/;切换到'source files'标签页,添加D:CppUnit1.12.1srccppunit,保存。

  d) 在测试代码中进行设置。在VC中打开你写的测试程序,启动Project Settings对话框,切换到'C++'标签页,选择'Code generation'项,对于release版,选择'Multithreaded DLL',对于Debug版,选择'Debug Multithreaded DLL'。同样是在这个标签页,选择'C++ langage'项,选择All Configurations,选择'enable Run-Time Type Information (RTTI)'。切换到'Link'标签页,在'Object/library modules'中添入需要的lib文件cppunitX.lib (debug模式为cppunitd.lib, release 模式为cppunit.lib )和testrunnerX.lib(debug模式为testrunnerd.lib, release 模式testrunner.lib,debug Unicode模式为testrunnerud.lib, release Unicode模式为testrunneru.lib)

  e).添加系统路径。为使测试程序在运行时能找到CppUnit提供的dll,我们在环境变量中指出CppUnit提供的dll的路径:在我的电脑中,打开环境变量,编辑系统变量中的path变量,向其中添加CPPUNITHOMElib,从新启动计算机,使设置生效。

  1.3. 在Eclipse下安装CppUnit

  CppUnit配置到Eclipse平台实际是通过项目中加入头文件实现的,将CppUnit 的头文件的目录添加到编译所用环境变量中.

  1.4.在MinGW/Eclipse/window 下安装

  这个组合是为了在window的环境下使用gcc来编译CppUnit的测试代码。这里先简单介绍一下MinGW.

  1.4.1MinGW简介

  一个自由使用和自由发布的Windows特定头文件和使用GNU工具集接口库的集合,支持生成的windows程序而不需要借助第三方运行时库。MinGW(MiniamalistGNU for Windows)是一些头文件和接口库的集合,该集合支持人们在没有第三方动态链接库的情况下使用GCC来生成Win32程序。在基本层上,MinGW是一组包含文件和接口库,其功能是允许控制台模式的程序使用MS标准C运行时库(MSVCTR.dll)。通过基本运行时,gcc编写的符合ANSI的控制台模式的程序可以使用C运行库扩展,MinGW的另一个组成部分W32API—是一组可以使用win32API的包含文件的和接口库。

  提到MinGW,必然想到Cygwin:Cygnus Solutions开发的自由软件,嵌入式软件的开发的流行。Cygwin改进了gcc,gdb,gas,使其能够生成并解释win32的目标文件,然后再把这些工具移植到window中,共享库(基于win32API编写了一个Unix系统库的模拟层),Unix主机交叉编译,逐步移植其他的工具。

  在这个环境下安装和在Linux安装什么区别。

  终于,所有的安装事项都结束了,在进入理论前使用一个例子实践一下。

  2 CppUnit实例--来自参考[3]

/*Program:testcppunit.cpp -- a simple hellow example which use the cppunit tool*/
#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;
}

上一页1234下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd