iOS 單元測試

今天是2016/01/19

? 目前在Xcode創(chuàng)建的項目支持out-of-the-box測試,新建的項目中有獨立的測試group,即“項目名稱+Test”group;可以作為測試target運行。用Command+R運行應(yīng)用,Command+U編譯運行測試的target。

從測試類型來看主要分:邏輯測試,UI測試,性能測試;分別測試應(yīng)用的業(yè)務(wù)邏輯、UI效果和代碼性能;

單擊方法左側(cè)方塊運行此測試方法;command + u 運行所有測試方法;

iOS 新建工程時可選擇添加UI測試和unit test,

默認(rèn)的單元測試以“工程名+Tests”命名;

單元測試文件有兩個默認(rèn)方法:setup 和 teardown,

1.setup 單元測試的數(shù)據(jù)初始化開始;

2.teardown 單元測試完成并開始回收初始化數(shù)據(jù)垃圾;

3.testExample 示例測試方法,包含一個斷言示例;

4.testPerformanceExample 性能測試的示例方法;

5.自己要測試的方法應(yīng)定義類似為:- (void)testXXX:命名為XXX的測試方法,便于識別, 在測試方法內(nèi)實現(xiàn)業(yè)務(wù)或邏輯,并用大量斷言診斷各狀態(tài);

(示例截圖)

XCTest斷言:

基本測試,可以用來測試指定的情況

XCTAssert(expression, format...)

如果expression(表達(dá)式)執(zhí)行的結(jié)果為true的話,測試通過。否則,測試失敗,并在console中輸出后面的format字符串。

可以根據(jù)基本斷言演化出功能更為強(qiáng)大和復(fù)雜的斷言:

--->bool斷言

XCTAssertTrue(expression,format...)

XCTAssertFalse(expression,format...)

--->equal test

XCTAssertEqual(expression1,expression2,format...)

XCTAssertNotEqual(expression1,expression2,format...)

--->nil test

XCTAssertNil(expression,format...)

XCTAssertNotNil(expression,format...)

--->無條件失敗斷言

XCTFail(format...)


XCTestExpectation

XCTestExpression異步測試類可以等待指定長度的時間,一直到某些條件符合的時候在開始測試。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 單元測試不是一個小工程,需要多用些時間才能做好,不要希望通過這個文章就能掌握單元測試,這只是一個入門,需要自己動手...
    勇不言棄92閱讀 8,097評論 9 60
  • 領(lǐng)導(dǎo)給的需求是: 關(guān)于單元測試的任務(wù)反饋: http://www.itdecent.cn/p/d15a7dea0c...
    SOI閱讀 4,093評論 1 34
  • 編寫測試可不是一項迷人的工作;然而,由于測試可以避免使你的寶貝應(yīng)用程序變成一塊充斥錯誤的大垃圾場,所以編寫測試又是...
    cosWriter閱讀 1,702評論 0 4
  • 原文地址:https://www.raywenderlich.com/150073/ios-unit-testin...
    默默熊閱讀 5,118評論 1 67
  • 平時總愛對老公說,我快胡你了。其實就是一句玩笑,一種表達(dá)方式。 晚上,一家人吃飯,小朋友對我說,媽媽,你看爸爸吃那...
    喔喔奶糖307閱讀 295評論 0 0

友情鏈接更多精彩內(nèi)容