天天看點

iOS基礎—單元測試

單元測試(unit testing):對軟體中最小可測試單元進行檢查和驗證。一般面向過程的語言中,基本單元為函數,面向對象的語言中,基本單元通常是類,其實對于一個手機上的app來說基本單元也可以是一個ui頁面。平時我們寫了一個函數,執行以下看是否正常工作,也屬于單元測試。

  測試用例(test case):對測試任務的描述,展現測試方案、方法、技術和政策。内容包括測試目标、測試環境、輸入資料、輸出資料、測試步驟、預期結果、測試腳本等。

  它是一種檢驗行為,便于我們寫出高品質代碼。

  它是一種設計行為,有利于我們程式設計能力的提高。

  它是一種文檔編寫行為,讓我們的程式有據可依。

  xcode内置了ocunit單元測試架構。在xcode5之前,建立項目的時候有一個選項,讓我們選擇是否建立一個含有單元測試target的項目,而在xcode5中隻要建立一個項目就預設帶有一個單元測試的target。

  在xcode5之前,建立一個工程的時候如果沒有勾選單元測試的話也不要緊,可以自己添加一個單元測試的target。

  在彈出選擇框中 ios-->other---> cocoa touch unit testing bundle

  這裡看似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,然後點選+号來沒加一個scheme

  選中之前建立的coredatademotest後點選add

  說明:

  在xcode5中測試類必須繼承自xctestcase。在xcode5之前測試類必須繼承自sentestcase。

  測試函數的形式必須是無傳回值且以‘test’為字首,如:- (void)testlogin;

  每個測試用例都是從- (void)setup;開始,進行初始化,以- (void)teardown結束,釋放資源。

  運作測試用例:

  command + u。

  長按運作按鈕選擇清單中的test;

繼續閱讀