2013-09-25 25 views
6

我想要一個單元測試單元測試一個庫,它在Mac OS X和iOS上執行單元測試,在兩個獨立的測試目標在一個Xcode項目中。單元測試文件應該被共享。用XCTest設置一個帶有iOS和OSX的兩個測試目標和共享單元測試的TestProject

看來這是不可能的,或不打算工作,或以其他方式,揭示了一個錯誤:

雖然可以運行每個iOS和Mac OS X的(通過命令產品完整的單元測試 - >測試),它不可能在陰溝裏點擊鑽石運行個人測試方法:

enter image description here

做這件事時,Xcode中打開一個錯誤表單,告訴:

運行目標我的Mac 64位對您選擇執行的測試無效。

請選擇一個支持您希望執行的測試的運行目標。

enter image description here

我想,這個問題似乎是在兩個目標一個項目共享的單元測試文件必須被關聯到iOS Mac OS X的測試目標。也就是說,針對iOS和MacOSX目標設置了特定單元測試文件的「目標成員資格」。

當將共享的單元測試文件關聯到僅有的一個目標時,從排水溝中的鑽石開始進行單個測試似乎僅適用。

有沒有人設法得到這個工作?什麼是替代解決方案?

+0

我有同樣的問題,所以我只是從測試導航器(CMD + 5) –

+0

@xlc運行測試感謝您的信息! :)這實際上運行單獨的測試。然而,在測試結束後,排水溝中相應的「鑽石」將不會更新以反映此測試的狀態(這是一個小問題,但仍值得報告) – CouchDeveloper

+0

同樣的問題在這裏。它也讓我發瘋,因爲那個排水溝裏的按鈕太好用了。這個bug也在這裏報道:http://www.cocoanetics.com/2013/09/radar-xcode-5-unable-to-configure-inline-unit-tests-for-ios-and-mac-in- parallel/rdar:// 15085316 – charles

回答

0

如果您刪除主目標和每個平臺的測試目標中的架構(ARCHS)構建設置的所有自定義條目,這將消失。 只依靠OSX/IOS默認構建設置就可以工作。

請注意,當您在OSX和IOS方案之間切換時,首先必須等待索引器處於低谷狀態,然後您可能需要首先運行平臺的所有測試。 之後,您至少可以從測試導航器啓動單個測試。 看起來像Xcode有時仍然有問題顯示源代碼內聯測試按鈕。儘管可以運行單一測試。