CppUnit–WIN32平台安裝說明

來源:互聯網
上載者:User

附錄(Appendix)——WIN32平台安裝說明

目前,CPPUnit在WIN32平台下僅支援Microsoft Visual C++,而且你的VC++編譯器至少應該是6.0版本的。

使用GUI TestRunner編譯運行樣本程式的步驟如下:

  1. 在VC++中開啟examples/examples.dsw(包含所有的樣本)
  2. 將HostApp設為active project
  3. 編譯之
  4. 在VC中選擇Tools/Customize.../Add-ins and Macro Files,點擊Browse...
  5. 選擇lib/TestRunnerDSPlugIn.dll檔案,並按ok以註冊該附加件(add-ins)
  6. 運行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:一個實際的測試包(test suite)用來測試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)]

  1. 在VC++中開啟src/CppUnitLibraries.dsw工作區檔案。
  2. 將TestPlugInRunner設為active project。
  3. 在'Build'菜單中選擇'Batch Build...'
  4. 在Batch Build對話方塊中,選中所有的project 並按下build按鈕。
  5. 所有的庫檔案可以在lib/目錄下找到。

[測試(Testing)]

  1. 開啟工作區檔案examples/Examples.dsw。
  2. 將CppUnitTestApp設為active project.
  3. 為你要建立的庫選擇合適的配置。
  4. 編譯運行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仍處於實驗階段並未作足夠多的測試。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.