iOS Unit自動化測試框架Quick簡單使用

前言

iOS自動化測試一直不如Android的方便艘包,最近沒事看簡單看了下,分別基本使用了一下自動化框架QuickKIF菲嘴,做一些簡單的介紹爬虱。

安裝

  • 安裝前設(shè)置
    在安裝之前將工程中的Defines Module設(shè)為YES,如下圖:


    image.png
  • 使用cocoapods安裝Quick和Nimble秉溉。在Podfile中添加pod命令力惯,如下通過def xxx end來包裹pod命令,這樣該def可以被用于多個(gè)相同的target召嘶,如UnitTest和UITest
def testing_pods
    pod 'Quick'
    pod 'Nimble'
end

target 'DemoTests' do
    testing_pods
end

Quick在Xcode9上Swift4貌似支持的不好父晶,需將Quick和Nimble的版本手動配置為Swift3.2,后續(xù)官方可能會優(yōu)化對Swift4的支持

# 手動配置版本到swift 3.2
post_install do |installer|
    installer.pods_project.targets.each do |target|
        if [target.name](http://target.name) == 'Quick' || [target.name](http://target.name) == 'Nimble'
            print "Changing Quick swift version to 3.2\n"
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '3.2'
            end
        end
    end
end

pod install安裝即可使用
:可以安裝Quick模板弄跌,這樣可以快速的新建Quick測試文件甲喝,具體步驟查看GitHub官方文檔,但是安裝好了總覺得Xcode變得很慢铛只,有可能是需要安裝包管理的原因埠胖,對Xcode9支持的也不好,所以其實(shí)最好不安裝模板淳玩,就幾行代碼直撤,可以Copy到一個(gè)地方,創(chuàng)建的時(shí)候Paste過來即可蜕着。

出現(xiàn)No Such Module ‘Quick’問題解決

這個(gè)問題也得歸結(jié)于目前對Xcode9 Swift4支持的不好谋竖,可以根據(jù)GitHub的issue #729(closed里面)進(jìn)行嘗試解決红柱,不然編譯通不過,對于入門者沒有自動提示也是呵呵噠蓖乘。issue #729主要 解決方法總結(jié)為:

  1. 手動將Quick版本配置到Swift3.2锤悄,上述Podfile中已提及
  2. 注意使用最新的Quick版本,即默認(rèn)的master分支最新源碼
  3. Pod install后再次檢查嘉抒,將工程中的Defines Module和pod工程中的Defines Module設(shè)置為YES
  4. framework search paths不配置任何東西

還有可以嘗試按照GitHub官方Document里面的TroublesShooting(常見安裝問題)進(jìn)行解決零聚,其總結(jié)為:

  1. 清掉Xcode DriveData數(shù)據(jù)
  2. 通過Manage Scheme將Quick、Nimble些侍、Pods-ProjectNameTests勾選上隶症,讓他們show出來,然后分別選中他們各編譯一次娩梨,最后返回你的工程進(jìn)行測試

我的做了以上嘗試當(dāng)天其實(shí)還是一直顯示No Such Module ‘Quick’沿腰,然后就沒管它去看了KIF UI 測試框架,結(jié)果第二天來就可以找到了狈定,確實(shí)這個(gè)我是沒啥好說的颂龙,肯定的是Quick對Xcode9/Swift4的支持不夠好,還有可能是Xcode本身的indexing系統(tǒng)在某些時(shí)候不理想(Xcode9當(dāng)然是目前indexing最好的版本纽什,其本身用Swift重構(gòu)后解決了以前的太多不方便)

Test文件中不能引用主工程類問題解決

Test文件中找不到主工程中的類措嵌,如測試其ViewController,需要將ViewController作為實(shí)例變量芦缰。嘗試了幾種方法企巢,如import ProjectName,將Target設(shè)置到Test
解決方法让蕾,參照官方的XCTest的寫法浪规,這樣引入@testable import ProjectName即可

寫在結(jié)尾

對iOS自動化測試研究不深,平時(shí)也很少用到探孝,希望能夠有更好的測試框架和更簡易的教程出來笋婿。
Demo地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市顿颅,隨后出現(xiàn)的幾起案子缸濒,更是在濱河造成了極大的恐慌,老刑警劉巖粱腻,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件庇配,死亡現(xiàn)場離奇詭異,居然都是意外死亡绍些,警方通過查閱死者的電腦和手機(jī)捞慌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遇革,“玉大人卿闹,你說我怎么就攤上這事揭糕÷芸欤” “怎么了锻霎?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長揪漩。 經(jīng)常有香客問我旋恼,道長,這世上最難降的妖魔是什么奄容? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任冰更,我火速辦了婚禮,結(jié)果婚禮上昂勒,老公的妹妹穿的比我還像新娘蜀细。我一直安慰自己,他們只是感情好戈盈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布奠衔。 她就那樣靜靜地躺著,像睡著了一般塘娶。 火紅的嫁衣襯著肌膚如雪归斤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天刁岸,我揣著相機(jī)與錄音脏里,去河邊找鬼。 笑死虹曙,一個(gè)胖子當(dāng)著我的面吹牛迫横,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播酝碳,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼矾踱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了击敌?” 一聲冷哼從身側(cè)響起介返,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沃斤,沒想到半個(gè)月后圣蝎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衡瓶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年徘公,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哮针。...
    茶點(diǎn)故事閱讀 39,722評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡关面,死狀恐怖坦袍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情等太,我是刑警寧澤捂齐,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站缩抡,受9級特大地震影響奠宜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瞻想,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一压真、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蘑险,春花似錦滴肿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至和屎,卻和暖如春拴驮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背柴信。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工套啤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人随常。 一個(gè)月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓潜沦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親绪氛。 傳聞我的和親對象是個(gè)殘疾皇子唆鸡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評論 2 353

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

  • 學(xué)習(xí)文章 TDD的iOS開發(fā)初步以及Kiwi使用入門 Kiwi 使用進(jìn)階 Mock, Stub, 參數(shù)捕獲和異步測...
    劉大帥閱讀 4,194評論 3 17
  • 《清風(fēng)書》 我重新回到地下像一個(gè)生銹的罪人整天與樹木為伍劈柴,喝酒做一個(gè)醉生夢碎的鬼 《自由》 鐘馗做了這么多年好...
    茶人老七閱讀 376評論 0 1
  • 時(shí)間 8月19日 下午1:40從望京研發(fā)園出發(fā) 下午4:20左右到達(dá)景區(qū) 景區(qū)進(jìn)入后爬山大概20分鐘到達(dá)漂流起點(diǎn) ...
    玉蒙love閱讀 89評論 0 0
  • 抬頭仰望 云淡成一縷煙 小小的我行走于林間 落葉就那么悠悠然地 飄進(jìn)小小的手掌 秋是愉快的雙色染缸 除了霜的紅就是...
    別人總是讓我改名字閱讀 334評論 6 7
  • 團(tuán)隊(duì)做工作總結(jié)時(shí)枣察,很重要的一項(xiàng)就是“工作中遇到什么困難”+“應(yīng)該如何改進(jìn)”争占。這其實(shí)是一組枯燥乏味,讓人情緒低落序目,又...
    v偉偉v閱讀 1,013評論 1 50