您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > cppUnit
軟件測(cè)試實(shí)驗(yàn)學(xué)習(xí)筆記--CppUnit
作者: 發(fā)布時(shí)間:[ 2013/12/17 9:32:47 ] 推薦標(biāo)簽:

  1.2 在VC 6.0/window下安裝(參考6)

  a) 從官方網(wǎng)站上下載CppUnit的tar包并解壓到本地磁盤,比如D:CppUnit1.12.1

  b) 編譯、安裝CppUnit庫(kù)。在VC中打開D:CppUnit1.12.1srcCppUnitLibraries.dsw,選擇“Build | BatchBuild...”,選中所有的項(xiàng)目,點(diǎn)擊build按鈕。在D:CppUnit1.12.1lib下生成所需要的所有庫(kù)文件。

  c)在Visual C++中進(jìn)行設(shè)置。告訴VC在哪里能找到CppUnit中的程序文件和庫(kù)文件:打開“Tools | Options...”,切換到'Directories'標(biāo)簽頁(yè),選擇'include files',添加D:CppUnit1.12.1include;切換到'libraries files'標(biāo)簽頁(yè),添加CPPUNITHOME/lib/;切換到'source files'標(biāo)簽頁(yè),添加D:CppUnit1.12.1srccppunit,保存。

  d) 在測(cè)試代碼中進(jìn)行設(shè)置。在VC中打開你寫的測(cè)試程序,啟動(dòng)Project Settings對(duì)話框,切換到'C++'標(biāo)簽頁(yè),選擇'Code generation'項(xiàng),對(duì)于release版,選擇'Multithreaded DLL',對(duì)于Debug版,選擇'Debug Multithreaded DLL'。同樣是在這個(gè)標(biāo)簽頁(yè),選擇'C++ langage'項(xiàng),選擇All Configurations,選擇'enable Run-Time Type Information (RTTI)'。切換到'Link'標(biāo)簽頁(yè),在'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).添加系統(tǒng)路徑。為使測(cè)試程序在運(yùn)行時(shí)能找到CppUnit提供的dll,我們?cè)诃h(huán)境變量中指出CppUnit提供的dll的路徑:在我的電腦中,打開環(huán)境變量,編輯系統(tǒng)變量中的path變量,向其中添加CPPUNITHOMElib,從新啟動(dòng)計(jì)算機(jī),使設(shè)置生效。

  1.3. 在Eclipse下安裝CppUnit

  CppUnit配置到Eclipse平臺(tái)實(shí)際是通過項(xiàng)目中加入頭文件實(shí)現(xiàn)的,將CppUnit 的頭文件的目錄添加到編譯所用環(huán)境變量中.

  1.4.在MinGW/Eclipse/window 下安裝

  這個(gè)組合是為了在window的環(huán)境下使用gcc來編譯CppUnit的測(cè)試代碼。這里先簡(jiǎn)單介紹一下MinGW.

  1.4.1MinGW簡(jiǎn)介

  一個(gè)自由使用和自由發(fā)布的Windows特定頭文件和使用GNU工具集接口庫(kù)的集合,支持生成的windows程序而不需要借助第三方運(yùn)行時(shí)庫(kù)。MinGW(MiniamalistGNU for Windows)是一些頭文件和接口庫(kù)的集合,該集合支持人們?cè)跊]有第三方動(dòng)態(tài)鏈接庫(kù)的情況下使用GCC來生成Win32程序。在基本層上,MinGW是一組包含文件和接口庫(kù),其功能是允許控制臺(tái)模式的程序使用MS標(biāo)準(zhǔn)C運(yùn)行時(shí)庫(kù)(MSVCTR.dll)。通過基本運(yùn)行時(shí),gcc編寫的符合ANSI的控制臺(tái)模式的程序可以使用C運(yùn)行庫(kù)擴(kuò)展,MinGW的另一個(gè)組成部分W32API—是一組可以使用win32API的包含文件的和接口庫(kù)。

  提到MinGW,必然想到Cygwin:Cygnus Solutions開發(fā)的自由軟件,嵌入式軟件的開發(fā)的流行。Cygwin改進(jìn)了gcc,gdb,gas,使其能夠生成并解釋win32的目標(biāo)文件,然后再把這些工具移植到window中,共享庫(kù)(基于win32API編寫了一個(gè)Unix系統(tǒng)庫(kù)的模擬層),Unix主機(jī)交叉編譯,逐步移植其他的工具。

  在這個(gè)環(huán)境下安裝和在Linux安裝什么區(qū)別。

  終于,所有的安裝事項(xiàng)都結(jié)束了,在進(jìn)入理論前使用一個(gè)例子實(shí)踐一下。

  2 CppUnit實(shí)例--來自參考[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;
}

上一頁(yè)1234下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd