原則上,是否使用測試框架都不會影響
單元測試結果,但是“工欲善其事,必先利其器”使用
單元測試框架更便于我們測試和分析結果。
主要的iOS單元測試框架有:
OCUnit,是開源測試框架,與Xcode工具集成在一起使用非常方便,測試報告以文本形式輸出到輸出窗口;
GHUnit,是開源測試框架,它可以將測試報告以應用形式可視化輸出到設備或模擬器上,也可以以文本形式輸出到輸出窗口;GHUnit可以測試OCUnit編寫的
測試用例;
OCMock,是開源測試框架,它主要為測試提供Mock對象(偽對象)。
添加OCUnit到工程
添加OCUnit到工程中有兩種方法,一種是在創建工程時添加,勾選“include Unit Tests”;另一種是在現有工程中添加“Cocoa Touch Unit Testing Bundle”Target來實現。下面我們詳細介紹這兩種添加過程。
1、創建工程時候勾選“include Unit Tests”
該種方式添加的單元測試屬于應用測試(Application Testing)。在創建一個工程時,如果采用“Single View Application”模板,在選項中勾選“include Unit Tests”即可在工程中添加OCUnit框架。
工程創建完,在導航面板中會多一個PITaxTests組(<工程名>Tests),包含PITaxTests測試類。在右邊的Target欄中多了一個PITaxTests Target。
但是打開Scheme列表還只有一個PITax,這是我們需要注意的。運行它可以通過:選擇菜單Product→
Test或工具欄中Test按鈕(下拉Run按鈕選擇)或快捷鍵command+U等幾種方式。
如果打開Frameworks組會發現添加了SenTestingKit.framework,SenTestingKit.framework就 是OCUnit框架。因為單元測試框架一般命名為xUnit,如Java的單元測試框架是
JUnit,.NET單元測試框架是NUnit等,OCUnit 是Objective-C單元測試框架之意。
2、現有工程中添加Target實現
該種方式添加的單元測試,屬于邏輯測試(Logic Testing)。在一個現有工程中,選擇菜單File→New→Target…,選擇模板iOS→Other中的 “Cocoa Touch Unit Testing Bundle”。
點擊Next按鈕,在Product Name項目中輸入LogicTest,創建完成后,在導航面板中多出了一個LogicTest組,包含LogicTest測試類。在右邊的Target欄中多了一個LogicTest Target。