? //TestCase.h,TestCase.cpp
? 多重繼承:
? TestCase : public TestLeaf, public TestFixture
? TestLeaf: public Test
? TestCase :對這個 Fixture 的某個功能、某個可能出錯的流程編寫測試代碼,這樣對某個方面完整的測試被稱為TestCase(測試用例)
CppUnit的原理--- TestCase步驟
? 對 fixture 進行初始化,及其他初始化操作,比如:生成一組被測試的對象,初始化值;( setUp ())
? 按照要測試的某個功能或者某個流程對 fixture 進行操作;
? 驗證結果是否正確;
? 對 fixture 的及其他的資源釋放等清理工作 ( tearDown())
運行時 CppUnit 會自動為每個測試用例函數運行 setUp,之后運行 tearDown,這樣測試用例之間就沒有交叉影響
CppUnit的原理--- TestCase注意點
? 可以自動執行,不用人手操作。
? 自動返回測試結果。
? 絕對的獨立,不能與其他TestCase有任何聯系。就算測試同一個函數的不同功能也需要分開。每個TestCase可以說是一個孤島。
? 例如
CppUnit的原理--- TestCase例子
CppUnit的原理--- ASSERT
? CPPUNIT_ASSERT(condition):判斷condition的值是否為真,如果為假則生成錯誤信息。
? CPPUNIT_ASSERT_MESSAGE(message, condition):與CPPUNIT_ASSERT類似,但結果為假時報告messsage信息。
? CPPUNIT_FAIL(message):直接報告messsage錯誤信息。
文章來源于領測軟件測試網 http://www.kjueaiud.com/