看XCTest和Xcode 5單元測試,並沒有看到如何運行我的單元測試下的儀器在Xcode 5 ...是否可以在Xcode 5的Instruments下運行基於XCTest的測試?
特別是我想在測試期間尋找泄漏(這不必在這個例子中是自動化的,儘管很明顯這很有用)。
可能嗎?
看XCTest和Xcode 5單元測試,並沒有看到如何運行我的單元測試下的儀器在Xcode 5 ...是否可以在Xcode 5的Instruments下運行基於XCTest的測試?
特別是我想在測試期間尋找泄漏(這不必在這個例子中是自動化的,儘管很明顯這很有用)。
可能嗎?
我覺得這是最簡單的方法:
我創建了一個基於我正在測試的mac應用程序目標的新目標,然後將xctest類添加到要編譯的文件中。
我接着又說了/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework到要鏈接的框架。
然後添加它的路徑$(DEVELOPER_DIR)/Platforms/MacOSX.platform/Developer/Library/Frameworks到運行路徑搜索路徑。
然後在main.m文件我增加了以下內容:
XCTestSuite *suite = [XCTestSuite testSuiteWithName:@"My tests"];
[suite addTest:[VideohogCachingTest testCaseWithSelector:@selector(testCompleteSequentialText)]];
[suite run];
此運行測試testCompleteSequentialText在類VideohogCachingTest我需要作爲一個正常的應用程序運行,所以讓我來運行通過命令+ R進行測試,或者在這種情況下,使用命令+ I進行分析。然後,我可以找到一個殭屍並追查這個問題,這對我以前來說不是一種可能性。 如果您想運行所有的測試,你可以這樣做:
XCTestSuite *suite = [XCTestSuite defaultTestSuite];
[suite run];
這對我有幫助,因爲你似乎必須編譯_for profiling_才能在Allocations中獲得Swift符號。請注意,我必須將該路徑也添加到框架搜索路徑,並編輯方案以使配置文件使用調試配置。 – tmandry
下面是做到這一點的Xcode 6下的正確方法:
1)在你的Xcode項目,揭示了「產品」文件夾,選擇「.xctest」產品,右鍵單擊,最後在上下文菜單中選擇「在Finder中顯示」。
2)啓動儀器並用您選擇的模板創建一個新文檔。
3)不要「選擇目標...」的文件
4)瀏覽和選擇工具Xcode使用運行位於/Applications/Xcode.app/Contents/Developer/usr/bin/xctest
測試(你可以找到在終端中)使用xcrun -f xctest
這個位置 - 你會需要啓用「遍歷包」才能在Xcode應用程序中導航。
5)將&從Finder拖放到「Arguments」字段中,在步驟1中顯示的「.xctest」產品 - 這將進入其絕對路徑。
6)點擊「選擇」。
你現在已經準備好運行你的儀器單元測試!
注@ quelish的回答如下。現在Xcode 7通過測試本身的上下文菜單提供 - 謝謝Xcode團隊! – Dad