iOS關(guān)于單元測試的學(xué)習(xí)筆記還有本人在學(xué)的路上遇到的那些坑

前言

閑來沒事本來想看看書的,但是上班時間在公司看書感覺不太合適,經(jīng)過Noah前輩提點所以打算去研究下單元測試,研究了解了一部分并結(jié)合使用場景才覺得這是個非常厲害的東西.想想以前測接口返回數(shù)據(jù)是否正常,這邊單元測試直接寫幾個case,不用頁面點,直接設(shè)幾個數(shù)據(jù)根據(jù)斷言看后臺返回的狀態(tài)碼就能夠很直觀的看出來,雖然功能不算特別豐富但感覺也省了不少事情,這邊會上一些自己寫的case,和幾個自己遇到的坑.

本文學(xué)習(xí)自鏈接,當(dāng)然我寫的主要是這篇文章作者沒寫的地方.閱讀我這篇文章前請先閱讀該鏈接.

斷言

我目前主要用到的是下面這兩個,如果想看更具體的請移步鏈接

XCTAssertTrue(expression, ...)
expression為true時通過讳窟,否則測試失敗。
expression接受boolean類型的參數(shù)。

XCTAssertFalse(expression, ...)
expression為false時通過胜茧,否則測試失敗派阱。
expression接受boolean類型的參數(shù)窍霞。

用法也很簡單,前言地方作者鏈接里有,我這里也來一張圖片吧

這里可以看到因為0和3不相等所以測試用例不通過,如果想通過把0改為3即可

UI的單元測試

新建一個case,將光標(biāo)放到方法內(nèi),點擊那個紅色的圓形按鈕就可以開始錄制腳本了(注意是UI的那個單元測試文件),點擊以后在模擬器或者真機(jī)上操作,xcode會生成相應(yīng)的代碼,錄制完自己想要執(zhí)行的操作,點擊那個紅色的圓形按鈕(此時已經(jīng)變成了方形),就可以停止錄制了,然后只要執(zhí)行這個case他就會按照你錄制的步驟去執(zhí)行一遍.

這里其實有一個很深的坑,我到現(xiàn)在也沒解決

看到上面那張圖的報錯了嗎?點擊的是底部的兩個tabbar,tabbar的標(biāo)題是中文,XCode給你錄成了UTF-8,而這些東西首先編譯器無法識別,你得轉(zhuǎn)義不然編譯都不成功,但你轉(zhuǎn)義完成后卻發(fā)現(xiàn)他會報錯告訴你找不到地方.正確的解決辦法是把那兩個中文的UTF-8換成漢字就好了,這個問題目前只在OC上出現(xiàn)了,swift是正確無誤的,如果各位有好的解決辦法可以告訴我,其實UI的case用處不大,這里作者只是好奇所以搞了下.

代碼的執(zhí)行時間測試

如上圖所示,這個方法是用來測試block內(nèi)代碼的執(zhí)行時間的,我們可以通過打印很清楚的看到他其實執(zhí)行了10次,用處也很寬廣,比如想測試身份證的識別時間,請求的時間,轉(zhuǎn)模型的速度等等都可以通過它來測試,這里只是舉個簡單的例子.

我們可以看下打印發(fā)現(xiàn)他確實是執(zhí)行了十次.


case執(zhí)行結(jié)果

再來看看左邊的執(zhí)行代碼相關(guān)信息,這里由于打印"1"執(zhí)行的太快無法看出效果,所以我將測試內(nèi)容換成了使用for循環(huán)打印1-9999,看看他們的執(zhí)行時間.

執(zhí)行時間查看

可以很清楚的看到,10次的平均時間是1.382秒,第一次時間是1.85秒,并且可以看到第一次執(zhí)行時間超過了平均時間33%,這里的測試結(jié)果都是和機(jī)器性能有關(guān)系的.

測試方法

這里我主要用來測試請求用.異步的測試和其他普通的測試都有區(qū)別這里也搞了我好久,都搞得無奈了...后來終于搞定了

這里是我寫的一個case

這里面需要注意的是和其他普通測試的區(qū)別,我們后臺的請求一般正常情況下都為000,若不正常的話這個case是執(zhí)行不通過的,到時候查看就可以了,偽造數(shù)據(jù)也比較方便.

坑以及注意點

  • 1關(guān)于case的方法名字,一定要以test開頭并注意駝峰命名法,且不能加入?yún)?shù),我們使用宏來代替.

    #define TestFilterPerformance(filterid) - (void)testFilterPerformance_##filterid { \
    [self measureBlock:^{ \
        UIImage *filteredImage = [FilterTool filterImage:self.image withFilterId:filterid]; \
        XCTAssertNotNil(filteredImage, @"濾鏡效果圖應(yīng)該非空"); \
    }]; \
    }
    
  • 2關(guān)于私有方法的測試,只能通過擴(kuò)展來實現(xiàn)

  • 3異步測試是個坑,需要謹(jǐn)慎解決...

  • 4XCode錄制OC的UI測試腳本不成功

目前只發(fā)現(xiàn)了這么多,歡迎補充.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沦补,一起剝皮案震驚了整個濱河市罩缴,隨后出現(xiàn)的幾起案子踢俄,更是在濱河造成了極大的恐慌缩功,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件都办,死亡現(xiàn)場離奇詭異嫡锌,居然都是意外死亡虑稼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門势木,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛛倦,“玉大人,你說我怎么就攤上這事啦桌∷莺” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵甫男,是天一觀的道長且改。 經(jīng)常有香客問我,道長板驳,這世上最難降的妖魔是什么又跛? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮笋庄,結(jié)果婚禮上效扫,老公的妹妹穿的比我還像新娘。我一直安慰自己直砂,他們只是感情好菌仁,可當(dāng)我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著静暂,像睡著了一般济丘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上洽蛀,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天摹迷,我揣著相機(jī)與錄音,去河邊找鬼郊供。 笑死峡碉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的驮审。 我是一名探鬼主播鲫寄,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼疯淫!你這毒婦竟也來了地来?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤熙掺,失蹤者是張志新(化名)和其女友劉穎未斑,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體币绩,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡蜡秽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年府阀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片载城。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡肌似,死狀恐怖费就,靈堂內(nèi)的尸體忽然破棺而出诉瓦,到底是詐尸還是另有隱情,我是刑警寧澤力细,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布睬澡,位于F島的核電站,受9級特大地震影響眠蚂,放射性物質(zhì)發(fā)生泄漏煞聪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一逝慧、第九天 我趴在偏房一處隱蔽的房頂上張望昔脯。 院中可真熱鬧,春花似錦笛臣、人聲如沸云稚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽静陈。三九已至,卻和暖如春诞丽,著一層夾襖步出監(jiān)牢的瞬間鲸拥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工僧免, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留刑赶,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓懂衩,卻偏偏與公主長得像撞叨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子勃痴,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容