翻譯:使用Xcode測試(四)——運行測試并查看結果(Running Tests and Viewing Results)

使用Xcode測試導航可以很容易運行測試并查看結果僧家。還有其他幾種方式運行測試。Xcode基于測試target運行測試姑子。使用測試導航重慢,你可以直接啟用和禁用測試target,類和方法,而不需要使用編輯器茅信。

運行測試命令

測試導航為你提供一種簡單的方式運行測試酣栈,運行測試是編程流程的一部分⌒谘海可以在源代碼編輯器或在菜單直接運行測試矿筝。

使用測試導航

當你將指針移到測試導航中的bundle、類或方法名上棚贾,會出現(xiàn)一個運行按鈕窖维。你可以運行一個測試或類中的所有測試或者bundle中所有的測試,這取決于你指針指在測試導航列表的位置妙痹。

  • 要運行bundle中的所有測試铸史,在測試bundle名上按住指針并單擊右邊出現(xiàn)的運行按鈕。
  • 要運行類中的所有測試怯伊,在類名上按住指針并單擊右邊出現(xiàn)的運行按鈕琳轿。
  • 要運行一個測試,在測試名上按住指針并單擊右邊出現(xiàn)的運行按鈕耿芹。
使用源代碼編輯器

當你在源代碼編輯器中打開測試類時崭篡,在每個測試方法名旁邊會出現(xiàn)一個指示器。將指針放到指示器上會顯示一個運行按鈕吧秕。點擊運行按鈕運行測試方法琉闪,指示器會顯示測試時通過或失敗。將指針放置在指示器上回重新顯示運行按鈕砸彬,可以重復測試颠毙。此處機制是一次只能運行一個測試。

注意:在類的實現(xiàn)旁邊會出現(xiàn)同樣的指示器砂碉,你可以運行類中的所有測試蛀蜜。

使用產品菜單

產品菜單包括在鍵盤輸入快速訪問命令直接運行測試。

  • Product > Test.運行當前scheme增蹭〉文常快捷鍵是Command-U。
  • Product > Build for > TestingProduct > Perform Action > Test without Building沪铭。這兩個命令可以用來build測試bundle產品同時獨立運行測試壮池。這些
    命令是測試build和測試過程的快捷方式。當更改代碼后杀怠,在build過程中檢查警告和錯誤時非常有用椰憋,快捷鍵分別是Shift-Command-U 和 Control-Command-U。
  • Product > Perform Action > Test ****赔退。例如橙依, Product > Perform Action > Test testAddition证舟。快捷鍵是Control-Option-Command-U。

注意:除了源代碼編輯器窗骑,這個命令在項目導航和測試導航中均可用女责。
在測試導航中,可以選擇測試bundle创译,類或方法抵知。在項目導航中,可以選擇測試類實現(xiàn)文件软族,例如刷喜,CalcTests.m

  • **Product > Perform Action > Test Again **立砸。重新運行最新測試方法掖疮,當調試/編輯代碼時非常有用。類似Product > Perform Action > Test命令颗祝,快捷鍵是Control-Option-Command-G浊闪。

顯示測試結果

XCTest框架會在Xcode中顯示測試方法通過或失敗。從下面的截圖可以看到結果螺戳。

  • 在測試導航中搁宾,你可以在測試或一組測試運行后查看通過或失敗指示。


  • 如果測試方法嵌入在相關類或測試bundle中温峭,該指示反映的是整個測試類或測試bundle的狀態(tài)猛铅。在這個例子中,BasicFunctionsTests類中至少有一個測試失敗凤藏。

  • 在源編輯器中,你可以查看通過或失敗指示并調試信息堕伪。
  • 在報告導航中揖庄,你可以查看測試運行結果輸出。在左邊面板中選擇你想要檢查的測試欠雌,并選擇測試面板進行查看蹄梢。
  • 性能測試,點擊時間列中的值以獲得詳細的性能結果報告富俄。你可以查看測試總性能禁炒,也可以通過點擊單個測試運行按鈕,查看十次運行結果霍比。使用編輯按鈕可以設置或修改測試的基準線幕袱,設置通過或失敗指示的最大標準誤差。
  • 使用日志面板悠瞬,你可以查看相關失敗描述和其他摘要輸出们豌。通過點開小三角涯捻,你可以深入到運行測試中的所有細節(jié)。

注意:除了項目左邊的小三角望迎,測試失敗右邊的小圖標也可以展開更多的信息障癌,你可以看到testMultiplication失敗。

  • 調試控制臺顯示運行測試的綜合信息辩尊。與日志導航一樣展示信息涛浙,如果你一直在調試,調試的其他信息也會出現(xiàn)在這里摄欲。

使用scheme和測試target

Xcode scheme控制build轿亮,運行,測試蒿涎,調試菜單命令哀托。當你在測試導航中創(chuàng)建測試target、執(zhí)行其他系統(tǒng)操作時劳秋,Xcode管理scheme配置仓手,例如,當你啟用或禁用測試方法玻淑、測試類或測試bundle嗽冒。在管理Scheme菜單中勾選共享復選框,可以使用Xcode服務并持續(xù)集成补履,并管理項目和源代碼添坊。

查看測試的配置scheme:

  1. 在工具欄中選擇Scheme menu > Manage Schemes。

在這個項目中有兩個scheme箫锤,一個build應用,另一個build庫/框架贬蛙。配置scheme的右邊有個復選框,表明scheme是否共享Xcode服務谚攒。

2.?在管理表單中阳准,雙擊scheme使之顯示在scheme編輯器中。當你執(zhí)行測試命令時馏臭,scheme的中Test表示Xcode執(zhí)行測試野蝇。

注意:測試導航和配置/設置助手與測試target、測試類和測試方法相關聯(lián)括儒,通常管理測試相關設置绕沈。

關于使用配置和編輯可用scheme,參見編輯scheme幫助(Scheme Editor Help)和在Xcode中使用scheme和project( WWDC 2012: Working with Schemes and Projects in Xcode (408))帮寻。

build設置——測試應用乍狐,測試庫

應用測試運行在你的應用環(huán)境中,可以結合app中不同的類规婆、庫/框架進行功能測試澜躺。庫測試可以不依賴app蝉稳,獨立測試庫或框架的類或方法,驗證行為是否符合庫的要求掘鄙。

不同的build設置需要兩種測試bundle耘戚。當你在新建target窗口中選擇target參數(shù)并創(chuàng)建測試target時,會自動配置build設置操漠∈战颍可以選擇應用SampleCalc,和庫/框架CalcLibrary浊伙。

選擇SampleCalc作為build產品的測試target撞秋。應用進程管理測試的執(zhí)行,測試接收applicationDidFinishLaunching通知后執(zhí)行嚣鄙。默認產品名稱“SampleCalc Tests,”來自SampleCalc吻贿;你可以按你自己的喜好改變它。

如果你選擇CalcLibrary作為相關build產品哑子,target助手配置build設置為庫測試舅列。Xcode啟動測試運行時環(huán)境,庫或框架卧蜓,測試代碼由Xcode管理帐要。默認產品名稱來自庫target(“CalcLibrary Tests”)。你可以按你自己的喜好改變它弥奸。

默認build設置

在大多數(shù)情況下榨惠,為app或庫測試配置build設置時,你只需要選擇正確的測試target關聯(lián)產品盛霎。Xcode自動為你管理build設置赠橙。因為你需要自己設置一些復雜build的項目,理解標準build設置是非常有用的愤炸。

SampleCalc項目作為例子來說明正確的默認設置简烤。

1.在項目導航點擊SampleCalc進入項目編輯器,選擇SampleCalc作為測試target摇幻。

在編輯器中的通用面板中,顯示Target彈窗挥萌。彈窗中顯示SampleCalc作為target绰姻。

你可以檢查build設置SampleCalcTests是否為target。

2.單擊build設置引瀑,然后在搜索區(qū)域中輸入 Bundle Loader狂芋。SampleCalc應用將加載SampleCalc的測試。你會看到調試和發(fā)布版本的自定義參數(shù)路徑憨栽。

如果你搜索 Test Host會出現(xiàn)相同的路徑帜矾,如下圖所示翼虫。

本項目的計算器庫target是CalcLibrary,相關的測試target是CalcLibraryTests屡萤。

3.選擇CalcLibraryTeststarget和通用面板珍剑。

target設置為None。同樣檢查build設置面板中的 Bundle LoaderTest Host沒有相關的參數(shù)死陆。這表明Xcode設置了默認值招拙,這是正確的配置。

官方原文地址:

https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/05-running_tests.html#//apple_ref/doc/uid/TP40014132-CH5-SW1

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末措译,一起剝皮案震驚了整個濱河市别凤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌领虹,老刑警劉巖规哪,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異塌衰,居然都是意外死亡诉稍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門猾蒂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來均唉,“玉大人,你說我怎么就攤上這事肚菠√蚣” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵蚊逢,是天一觀的道長层扶。 經常有香客問我,道長烙荷,這世上最難降的妖魔是什么镜会? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮终抽,結果婚禮上戳表,老公的妹妹穿的比我還像新娘。我一直安慰自己昼伴,他們只是感情好匾旭,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著圃郊,像睡著了一般价涝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上持舆,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天色瘩,我揣著相機與錄音伪窖,去河邊找鬼。 笑死居兆,一個胖子當著我的面吹牛覆山,可吹牛的內容都是我干的。 我是一名探鬼主播史辙,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼汹买,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了聊倔?” 一聲冷哼從身側響起晦毙,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎耙蔑,沒想到半個月后见妒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡甸陌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年须揣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钱豁。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡耻卡,死狀恐怖,靈堂內的尸體忽然破棺而出牲尺,到底是詐尸還是另有隱情卵酪,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布谤碳,位于F島的核電站溃卡,受9級特大地震影響,放射性物質發(fā)生泄漏蜒简。R本人自食惡果不足惜瘸羡,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望搓茬。 院中可真熱鬧犹赖,春花似錦、人聲如沸卷仑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽系枪。三九已至,卻和暖如春磕谅,著一層夾襖步出監(jiān)牢的瞬間私爷,已是汗流浹背雾棺。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留衬浑,地道東北人捌浩。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像工秩,于是被迫代替她去往敵國和親尸饺。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內容