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

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

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

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

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

  d) 在測試代碼中進行設(shè)置。在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).添加系統(tǒng)路徑。為使測試程序在運行時能找到CppUnit提供的dll,我們在環(huán)境變量中指出CppUnit提供的dll的路徑:在我的電腦中,打開環(huán)境變量,編輯系統(tǒng)變量中的path變量,向其中添加CPPUNITHOMElib,從新啟動計算機,使設(shè)置生效。

  1.3. 在Eclipse下安裝CppUnit

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

  1.4.在MinGW/Eclipse/window 下安裝

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

  1.4.1MinGW簡介

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

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

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

  終于,所有的安裝事項都結(jié)束了,在進入理論前使用一個例子實踐一下。

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