使用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 > Testing 和 Product > 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:
- 在工具欄中選擇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.選擇CalcLibraryTests
target和通用面板珍剑。
target設置為None
。同樣檢查build設置面板中的 Bundle Loader
和Test Host
沒有相關的參數(shù)死陆。這表明Xcode設置了默認值招拙,這是正確的配置。