天天看點

C++單元測試工具CppUnit使用簡介 【轉載】

準備工作:

    1. 到 ​​http://sourceforge.net/projects/cppunit/​​下載下傳CppUnit測試架構的源代碼

    2. 解壓檔案,進入src檔案夾,打開CppUnitLibraries.dsw。分别編譯這兩個project,輸出位置均為lib檔案夾。

    3.在VC的tools/options/directories/include files和library files中設定include路徑和lib路徑。

    4.右鍵我的電腦設定->進階->環境變量->系統變量->Path中,将Cppuint的目錄的lib路徑設定為系統搜尋路徑

建立測試工程:

    1.打開VC建立基于MFC對話框的Project,在stdafx.h中添加

      #include <cppunit/ui/mfc/TestRunner.h>

      #include <cppunit/extensions/TestFactoryRegistry.h>

      #include <cppunit/extensions/HelperMacros.h>

      #ifdef _DEBUG

             #pragma comment( lib, "testrunnerd.lib" )

             #pragma comment( lib, "CppUnitd.lib" )

      #else

            #pragma comment( lib, "testrunner.lib" )

            #pragma comment( lib, "CppUnit.lib" )

      #endif

      using namespace CppUnit;

    2.修改對話框初始化函數

      CUnitTestApp::InitInstance()

     {

        MfcUi::TestRunner runner;

        runner.addTest( TestFactoryRegistry::getRegistry("SamepleUnitTest").makeTest() );

        runner.run(); //show UI

        /*

        CUnitTestDlg dlg;

         m_pMainWnd = &dlg;

         INT_PTR nResponse = dlg.DoModal();

         if (nResponse == IDOK)

         {......}

        */

        }

     3.将要測試的project加入到本project中,實作測試用例類

        class CSamepleTestCase : public TestCase

        {

         public:

             CSamepleTestCase(void);

             virtual ~CSamepleTestCase(void);

CPPUNIT_TEST_SUITE(CSamepleTestCase);

             CPPUNIT_TEST( TestAdd );

             CPPUNIT_TEST_SUITE_END();

             VOID TestAdd( );

        };

        在CPP檔案中

CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( CSamepleTestCase,"SamepleUnitTest" );