2011-02-20 61 views
8

我很想用測試編寫一個庫項目,即使我將代碼包含在其他項目中(而不是鏈接到lib) ios項目。測試驅動開發(TDD):在Xcode 4中編寫單元測試

似乎檢查'包含單元測試'是不足以讓xcode 4正確初始化一個包含測試的項目,並且在查看Apple文檔後我找不到任何相關的東西。

有沒有人知道任何資源或教程來獲得這項工作?

即使默認可可觸摸靜態庫項目,在從「產品」菜單中選擇「測試」,它失敗(連接時)與此錯誤(該項目被稱爲test1):

library not found for -ltest1 
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 failed with exit code 1 

任何幫助將非常感激。

回答

7

好的,我終於得到了這個工作。

訣竅是在不檢查XCode 4中的'包含單元測試'選項的情況下創建庫。然後我自己創建了一個新目標。

(在Xcode 4)

  1. 創建一個新的可可觸摸靜態庫項目,不檢查「包括單元測試」
  2. 在導航
  3. 進入「選擇建設項目階段」選項卡
  4. 點擊‘添加目標’,然後選擇‘可可觸摸單元測試包’
  5. 經過嚮導,直到創建目標
  6. 然後去在「產品」菜單,然後選擇「編輯計劃......」
  7. 確保您的項目(而不是測試目標)被選中,並選擇「測試」
  8. 單擊+添加一個新的目標
  9. 選擇您的測試項目並點擊添加
  10. 現在按Cmd + U(這是「產品>測試」菜單項的快捷鍵),您會注意到默認測試失敗。

我希望這會有所幫助。

+0

我在Xcode 4 build 4A251a(GM Seed)下的'包含單元測試'中獲得了在新項目中工作的測試。但是它真的有效嗎?爲了查看失敗的測試,我必須在每次測試運行後手動打開控制檯並掃描輸出?! – Palimondo

+0

我解決它的方式,失敗的測試在xcode中顯示爲錯誤。因此,您可以在問題選項卡中看到它們並跳轉到它們等。 –

+0

它在Xcode 4的最終版本中已修復。(有第二個GM種子IIRC ...) – Palimondo