2014-02-17 63 views
6

我已經創建了多個在多個iOS項目之間共享的靜態庫。在很多這些靜態庫中,我創建了單元測試。我希望這些測試在我測試包含靜態庫的項目時運行。如何從iOS靜態庫運行測試您的項目依賴於

我試過在主項目方案中包含「測試」部分內的所有測試,但這通常會導致結果在「模擬器已在使用中」的錯誤,測試失敗。可能是因爲之前的測試使用了模擬器。

scheme-tests

皮膚CreatorTests是主體工程

SEUSUIKitTests,APIKitTests,PurchaseKitTests和MCSkinKitTests是沒有連接的靜態庫

所有的測試我要對這個正確的方式,或我應該有不同的想法嗎?

**編輯**

看起來這堆棧溢出的問題是有同樣的問題。

Xcode 5: Multiple test targets in one scheme: "Simulator already in use"

**編輯2 ** 雷達:http://openradar.appspot.com/15153136

回答

2

雖然正確設置你的單元測試是相當多一個爛攤子和XCode的一個時間片(感謝你得到非常明確的訊息,因爲你發現),在你的情況下,我認爲這個問題是你的方法。

如果您有多個靜態庫鏈接多個項目,靜態庫的測試不應該從引用它們的項目運行。每個庫都應該是自包含的,並打包它自己的測試,並且每當你改變特定庫中的某些內容時應該運行它們。

這個想法是,你應該只測試你自己的代碼。如果鏈接外部靜態庫,則該庫的作者負責正確地對這部分進行單元測試。您也是外部圖書館的作者的事實不應該對此產生影響。

相關問題