ios 單元測試初識(XCTestCase),iosxctestcase
今天偶爾碰到了單元測試的相關內容,就瞭解了一下,感覺比較好用:
單元測試就是面試中經常問到的TDD(Test Driven Development),xcode4之前測試函數需自己建立,之後xcode5,對單元測試進行了升級,
xcode4之前的用法詳見:http://www.infoq.com/cn/articles/ios-unit-test-1
xcode5之後的用法,特別是xcode6對單元測試的升級比較令人興奮,
個人比較佩服下面這個哥們的介紹,比較詳細
http://www.it165.net/pro/html/201403/10828.html
單元測試(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。 運行測試案例: command + u。 長按運行按鈕挑選清單中的test;一般不需要自己建立測試函數,一般程式內建的有測試target裡面有test類,
裡面有幾個方法:
1. - (void)setUp:每個test方法執行前調用 2. - (void)tearDown:每個test方法執行後調用 3. - (void)testXXX:命名為XXX的測試方法之前都是寫好模組之後反覆的run,stop,比較麻煩,單元測試能很好的解決這個問題,好吧,寫的比較亂,後續在整理,