單元測試(unit testing):對軟件中最小可測試單元進行檢查和驗證。通常面向過程的語言中,基本單元爲函數,面向對象的語言中,基本單元一般是類,其實對於一個手機上的app來講基本單元也能夠是一個UI頁面。平時咱們寫了一個函數,執行如下看是否正常工做,也屬於單元測試。編程
測試用例(test case):對測試任務的描述,體現測試方案、方法、技術和策略。內容包括測試目標、測試環境、輸入數據、輸出數據、測試步驟、預期結果、測試腳本等。app
它是一種檢驗行爲,便於咱們寫出高質量代碼。框架
它是一種設計行爲,有利於咱們編程能力的提升。ide
它是一種文檔編寫行爲,讓咱們的程序有據可依。函數
Xcode內置了OCUnit單元測試框架。在Xcode5以前,創建項目的時候有一個選項,讓咱們選擇是否創建一個含有單元測試target的項目,而在Xcode5中只要創建一個項目就默認帶有一個單元測試的target。單元測試
在Xcode5以前,創建一個工程的時候若是沒有勾選單元測試的話也沒關係,能夠本身添加一個單元測試的target。測試
在彈出選擇框中 IOS-->Other---> Cocoa Touch Unit Testing Bundlespa
這裏看似OK,但仍是差一步,在點擊RUN,長按後產生TEST,點擊TEST進行開啓測試時,將產生一個提示:The scheme "工程名" is not configured for testing. edit the scheme to enable testing,or cancel the action.即咱們尚未給工程配置測試工程行,點擊修改來添加,或點擊取消進行結束。點擊Edit Scheme (或菜單中Product->edit Scheme)設計
彈出scheme窗體。選中Test,而後點擊+號來沒加一個schemecode
選中以前建立的CoredataDemoTest後點擊ADD
說明:
在Xcode5中測試類必須繼承自XCTestCase。在Xcode5以前測試類必須繼承自SenTestCase。
測試函數的形式必須是無返回值且以‘test’爲前綴,如:- (void)testLogin;
每一個測試用例都是從- (void)setUp;開始,進行初始化,以- (void)tearDown結束,釋放資源。
運行測試用例:
command + u。
長按運行按鈕選擇列表中的test;