CppUnit基礎使用

TestCase ,單個測試用例,自定義測試類的父類;

TestSuit ,一組測試用例,由 TestCase 組成;

 

編寫的基本步驟:

1 ,新建工程,設置 RTTI 及多線程 lib ,添加需要的 lib ,如cppunitd.lib TestRunnerd.lib

 

2 ,從CppUnit::TestCase派生測試類CPlusTestCase;<cppunit/TestCase.h> <CppUnit/extensions/HelperMacros.h> <cppunit/extensions/TestFactoryRegistry.h>

 

3 ,在CPlusTestCase聲明中註冊 TestSuit ,表示將函數testAdd加到CPlusTestCase這個 TestSuit 中:

class CPlusTestCase : public CppUnit::TestCase

{

CPPUNIT_TEST_SUITE(CPlusTestCase);

CPPUNIT_TEST(testAdd);

// testAdd是一個自定義的測試函數

CPPUNIT_TEST_SUITE_END();

public:

CPlusTestCase(void);

// 構造在runner.addTest中被調用,而非run () 或執行測試時

~CPlusTestCase(void);

void testAdd(void);

};

 

4 ,在CPlusTestCase實現文件中註冊 TestSuit ,表示將 TestSuit CPlusTestCase註冊到 abc 這個組中;

CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(CPlusTestCase, " abc ");

 

5 ,在程序啓動時使用TestRunner添加測試及執行,<cppunit/ui/mfc/TestRunner.h>,如 ( 需要<cppunit/extensions/TestFactoryRegistry.h> )

CppUnit::MfcUi::TestRunner runner;

runner.addTest(CppUnit::TestFactoryRegistry::getRegistry(" abc ").makeTest());

//添加測試

runner.run();//show UI

 

注意:

1 cppunit 相應頭文件的 #include 需放到 #define new DEBUG_NEW的前面;

2 ,使用相應 lib debug release 版本,碰到過因版本不同而程序執行報錯的問題;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章