深度解析iPhone中項(xiàng)目單元測(cè)試
深度解析iPhone中項(xiàng)目單元測(cè)試是本文要介紹的內(nèi)容,在Xcode的iPhone SDK 3.0之后,已經(jīng)內(nèi)置了單元測(cè)試的功能,開發(fā)者可以借助單元測(cè)試寫出更健壯更正確的代碼。
文章使用的SDK版本是3.2.3。 Xcode提供了兩種單元測(cè)試方式,分別是邏輯測(cè)試與應(yīng)用測(cè)試,邏輯測(cè)試用于檢驗(yàn)?zāi)切┆?dú)立無環(huán)境限制的函數(shù),正是如此,邏輯測(cè)試無需啟動(dòng)模擬器或真機(jī),直接在build階段就完成了。應(yīng)用測(cè)試用于檢測(cè)你的iPhone應(yīng)用程序,可以測(cè)試包括界面操作等各方面行為。
邏輯測(cè)試
建立邏輯測(cè)試步驟:
在iPhone項(xiàng)目里添加一個(gè)新target,并選擇iPhone OS-Cocoa Touch-Unit Test Bundle,然后命名并直接添加到哪個(gè)iPhone項(xiàng)目下。
設(shè)置單元測(cè)試的target為當(dāng)前激活的target
為了整理方便,可新建組專門放置測(cè)試文件。添加測(cè)試文件選擇添加新文件,并選擇iPhone OS-Cocoa Touch Class-Objective-C test case class,在后續(xù)的命名時(shí)特別注意要添加到單元測(cè)試的target上,且只可勾選一個(gè)。
新建完畢后,將測(cè)試文件修改為如下形式:
Objective-c代碼
- // 頭文件
- #import <SenTestingKit/SenTestingKit.h>
- #import <UIKit/UIKit.h>
- @interface testfirst : SenTestCase
- {
- }
- - (void)testFirst;
- @end
- // 實(shí)現(xiàn)文件
- @implementation testfirst
- int get(int i)
- {
- return i;
- }
- - (void)testFirst
- {
- STAssertTrue(get(0), @"Must Fail");
- }
- @end
- // 頭文件
- #import <SenTestingKit/SenTestingKit.h>
- #import <UIKit/UIKit.h>
- @interface testfirst : SenTestCase
- {
- }
- - (void)testFirst;
- @end
- // 實(shí)現(xiàn)文件
- @implementation testfirst
- int get(int i)
- {
- return i;
- }
- - (void)testFirst
- {
- STAssertTrue(get(0), @"Must Fail");
- }
- @end
注意需要導(dǎo)入SenTestingKit的framework,此framework不在列表中,添加時(shí)需要指定路徑,在本機(jī)上是/Developer/Library/Frameworks/SenTestingKit.framework
邏輯測(cè)試步驟:
選擇build,如果沒有錯(cuò)誤,則編譯成功,如果有錯(cuò)誤,則Xcode編譯失敗,并指出錯(cuò)誤之處。
測(cè)試的函數(shù)簽名必須是(void)testXXX;
小結(jié):深度解析iPhone中項(xiàng)目單元測(cè)試的內(nèi)容介紹完了,希望本文對(duì)你有所幫助,更多內(nèi)容請(qǐng)參考編輯推薦。