可不可不要这么样徘徊在目光内 / 你会察觉到我根本寂寞难耐 / 即使千多百个深夜曾在梦境内 / 我有吻过你这毕竟并没存在 / 人声车声开始消和逝 / 无声挣扎有个情感奴隶 / 是我多么的想她 / 但我偏偏只得无尽叹谓 / 其实每次见你我也着迷 / 无奈你我各有角色范围 / 就算在寂寞梦内超出好友关系 / 唯在暗里爱你暗里着迷 / 无谓要你惹上各种问题 / 共我道别吧别让空虚使我越轨 /

CPPUnit在WIN32平台安装说明

上一篇 / 下一篇  2007-08-21 23:16:37 / 个人分类:测试工具

 目前,CPPUnit在WIN32平台下仅支持Microsoft Visual C++,而且你的VC++编译器至少应该是6.0版本的。

        使用GUI TestRunner编译运行示例程序的步骤如下:

        在VC++中打开examples/examples.dsw(包含所有的示例) 
        将HostApp设为active project 
        编译之 
        在VC中选择Tools/Customize.../Add-ins and Macro Files,点击Browse... 
        选择lib/TestRunnerDSPlugIn.dll文件,并按ok以注册该附加件(add-ins)
运行project

[Project创建结果]

框架 & 工具:

        cppunit(cppunit.lib):单元测试的框架库,你将用它来编写单元测试。 
        cppunit_dll(cppunit_dll.dll/lib):同上,只是以DLL方式呈现。 
        TestRunner(testrunner.dll):一个MFC的扩展DLL,用来以GUI方式运行单元测试和查看结果。 
        DSPlugIn(lib/TestRunnerDSPlugIn.dll):一个VC++的附加件,为testrunner.dll所使用。有了它之后,你若在MFC TestRunner中双击某个failure,就会启动VC++,打开failure所在文件并定位到某行。 
        TestPlugInRunner:(警告:实验性的)一个VC++应用程序,用以运行测试插件。测试插件就是一个公开特定接口的DLL。该应用程序目前尚未完成(auto-reload特性丢失)。

所有库文件都被置于lib/目录下。

[示例]

        CppUnitTestMain:一个实际的测试包(testsuite)用来测试CppUnit。使用了TextTestRunner(文本方式的单元测试环境),利用CompilterOutputter进行post-build testing(即在编译结束之后紧跟着进行测试)。在配置中设定连接了cppunit的静态库和动态库。

        CppUnitTestApp:包含了与CppUnitTestMain相同的测试包,但使用了MFC TestRunner(GUI方式的单元测试环境)

        hierarchy : 一个演示如何子类化测试的例子(你也许更愿意使用HelperMacros.h以及宏CPPUNIT_TEST_SUB_SUITE,这种方式更为简洁清晰。本示例已经很久没有更新了)。

        HostApp : 一个用MFC TestRunner演示各种失败测试的例子。也演示了MFC Unicode TestRunner。

        TestPlugIn : 一个演示如何为TestPlugInRunner编写TestPlugIn的例子(实验性的).


[配置(Configuration)]

        CppUnit和TestRunner带有3种配置。

        Release():多线程DLL,release模式

        Debug(d):Debug多线程DLL,debug模式

        Unicode Release(u):Unicode多线程DLL,release模式

        Unicode Debug(ud):Unicode Debug 多线程DLL,debug模式

        Debug Crossplatform (cd): Debug 多线程DLL,没有使用type_info从类名中提取测试用例的包名。

        对CppUnit而言,当创建dll时,字母“dll” 将被添加到后缀之后。

        括号内的字母标明了添加到库名之后的后缀。例如,debug配置的cppunit静态库名为cppunitd.lib。debug配置的cppunit动态库名为cppunitd_dll.lib.

[创建(Building)]

        在VC++中打开src/CppUnitLibraries.dsw工作区文件。 
        将TestPlugInRunner设为active project。 
        在'Build'菜单中选择'Batch Build...' 
        在Batch Build对话框中,选中所有的project 并按下build按钮。 
        所有的库文件可以在lib/目录下找到。

测试(Testing)]

        打开工作区文件examples/Examples.dsw。 
        将CppUnitTestApp设为active project. 
        为你要创建的库选择合适的配置。 
        编译运行project。TestRunner GUI将会出现。

[库(Libraries)]

        所有编译后生成的库均可在'lib'目录中找到。多数库可以在src/CppUnitLibraries.dsw工作区中创建。

lib\:

cppunit.lib : CppUnit静态库“Multithreaded DLL”
cppunitd.lib : CppUnit静态库“Debug Multithreaded DLL”
cppunit_dll.dll : CppUnit动态库(DLL)“Multithreaded DLL”
cppunit_dll.lib : CppUnit动态导入库“Multithreaded DLL”
cppunitd_dll.dll : CppUnit动态库(DLL)“Debug Multithreaded DLL”
cppunitd_dll.lib : CppUnit动态导入库“Debug Multithreaded DLL”
qttestrunner.dll : QT TestRunner动态库(DLL)“Multithreaded DLL”
qttestrunner.lib : QT TestRunner导入库“Multithreaded DLL”
testrunner.dll : MFC TestRunner动态库(DLL)“Multithreaded DLL”
testrunner.lib : MFC TestRunner导入库“Multithreaded DLL”
testrunnerd.dll : MFC TestRunner动态库(DLL)“Debug Multithreaded DLL”
testrunnerd.lib : MFC TestRunner导入库“Debug Multithreaded DLL”
testrunneru.dll : MFC Unicode TestRunner动态库(DLL)“Multithreaded DLL”
testrunneru.lib : MFC Unicode TestRunner导入库“Multithreaded DLL”
testrunnerud.dll : MFC Unicode TestRunner动态库(DLL)“Debug Multithreaded DLL”
testrunnerud.lib : MFC Unicode TestRunner导入库“Debug Multithreaded DLL”
TestRunnerDSPlugIn.dll : 注册到你的VC++中的附加件。

        注意:当你使用CppUnit DLL(cppunit*_dll.dll)时,你必须连接相关的导入库,并在project中定义预处理标识CPPUNIT_DLL。

[使用CppUnit]

编写单元测试:

        为了编写单元测试,你需要连接cppunitXX.lib,此处的XX即所选配置对应的后缀字母。 你必须在你的project中打开RTTI开关(Project Settings/C++/C++ Language)。 CppUnit的include目录必须包含在include查找路径中。你可以通过在Project Settings/C++/Preprocessor/Additional include directories或者Tools/Options/Directories/Include中添加include目录做到这一点。

简言之:

        打开RTTI开关 
        连接lib/cppunitXX.lib 
        include/ 必须包含在include查找路径中


使用TestRunner GUI: 
        为了使用GUI的test runner,你需要连接testrunnerXX.lib和cppunitXX.lib,此处的XX即所选配置对应的后缀字母。 你必须在你的project中打开RTTI开关。 文件testrunner.dll必须位于你的应用程序所在的路径(Debug或Release目录,project的dsp文件所在目录,或环境变量PATH中所指定的目录)。 一个最简单的办法是,要么添加一个post-build命令,或者,将位于lib/目录下的testrunner.dll添加到你的project中来,并定制创建步骤,将dll文件拷贝到你的“中间结果”目录(通常是Debug或Release目录)。

        因为TestRunner GUI是一个MFC的扩展DLL,它能够访问当前应用程序的CWinApp。 参数设置将使用应用程序的注册键。这意味着,设置项“最近使用的测试”对每个应用程序而言都是不同的。

简言之:

        打开RTTI开关 
        连接lib/cppunitXX.lib和lib/testrunnerXX.lib 
        include/必须包含在include查找路径中 
        为了运行你的project,lib/testrunnerXX.dll必须可用


使用DSPlugIn: 
        你必须在VC++中注册该插件。在Tools/Customize/Add-ins and Macro files中点击browse,并选择lib/TestRunnerDSPlugIn.dll(你可以注册release版或者debug版,都能运行)。

        若VC++正在运行,当你双击一个failure后,VC++将打开相关文件并定位到出错行。

使用Test Plug In Runner: 
        你的DLL必须导出(export)一个函数,该函数实现了在include/msvc6/testrunner/TestPlugInInterface.h中所定义的接口。作为范例,参见examples/msvc6/TestPlugIn/TestPlugInInterfaceImpl.*。注意:该runner仍处于实验阶段并未作足够多的测试。


TAG: 测试工具

 

评分:0

我来说两句

Open Toolbar