int years = 1;
pObj->mAge = 8;
pObj->Grow(years);
ASSERT( pObj->mAge == 9 );
ASSERT( pObj->mPhase == "兒童" );
}CaseEnd();
在輸入數據中對被測試類的成員變量mAge進行賦值,在預期輸出中斷言成員變量的值,F在可以看到老納所推薦的格式的好處了吧,這種格式可以適應很復雜的測試。在輸入數據部分還可以調用其他成員函數,例如:執行被測試函數前可能需要讀取文件中的數據保存到成員變量,或需要連接數據庫,老納把這些操作稱為初始化操作。例如,上例中 ASSERT( ...)之前可以加pObj->OpenFile();。為了訪問私有的成員變量或成員函數,可以將測試類定義為產品類的友元類。例如,定義一個宏:
#define UNIT_TEST(cls) friend class cls##Tester;軟件測試
然后在產品類聲明中加一行代碼:UNIT_TEST(ClassName)。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/