? CPPUNIT_ASSERT_EQUAL(expected, actual):判斷expected和actual的值是否相等,如果不等輸出錯誤信息。
? CPPUNIT_ASSERT_EQUAL_MESSAGE(message, expected, actual):與CPPUNIT_ASSERT_EQUAL類似,但斷言失敗時輸出message信息。
? CPPUNIT_ASSERT_DOUBLES_EQUAL(expected, actual, delta):判斷expected與actual的偏差是否小于delta,用于浮點數比較。
? CPPUNIT_ASSERT_THROW(expression, ExceptionType):判斷執行表達式expression后是否拋出ExceptionType異常。
? CPPUNIT_ASSERT_NO_THROW(expression):斷言執行表達式expression后無異常拋出。
四、 核心內容
? 測試對象(Test,TestFixture,...)
? 測試結果(TestResult)
處理測試用例執行結果, Observer Pattern
? 測試結果監聽者(TestListener)
TestListener作為TestResult的觀察者,擔任實際的結果處理角色
? 結果輸出(Outputter)
將結果進行輸出,可以制定不同的輸出格式
? 對象工廠(TestFactory)
用于創建測試對象,對測試用例進行自動化管理
? 測試執行體(TestRunner)
用于運行一個測試
核心內容 ---Test
? 所有測試對象的基類
? CppUnit采用樹形結構來組織管理測試對象,類似于目錄樹
組合設計模式(Composite Pattern),Test的兩個直接子類TestLeaf和TestComposite分別表示“測試樹”中的葉節點和非葉節點,其中TestComposite主要起組織管理的作用,就像目錄樹中的文件夾,而TestLeaf才是最終具有執行能力的測試對象,就像目錄樹中的文件。
文章來源于領測軟件測試網 http://www.kjueaiud.com/