ios 單元測試初識(XCTestCase),iosxctestcase

來源:互聯網
上載者:User

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,比較麻煩,單元測試能很好的解決這個問題,好吧,寫的比較亂,後續在整理,

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.