2010-10-27 65 views
1

我目前使用的OCUnit附帶Xcode 3.2.4,用於對我的應用程序進行單元測試。我的工作流程通常是在失敗的單元測試中設置一些斷點,以便快速檢查狀態。我使用的是蘋果的OCUnit設置:單元測試和iPhone開發

http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/135-Unit_Testing_Applications/unit_testing_applications.html

但是從上面的設置讓我有些頭疼。 Apple區分應用測試和邏輯測試。正如我所看到的:

  • 您無法調試邏輯測試。就好像他們在建立你的項目時無形地運行一樣。

  • 您可以調試應用程序的測試,但你必須給設備,而不是在模擬器上運行這些(究竟是什麼原因呢?)

這意味着一切都與一種移動的慢我當前工作流程有關讓應用測試在模擬器上運行的任何提示?或者任何針腳指向另一個測試框架? 會例如。 google-toolbox-for-mac在一般情況下或爲我的特定需求工作得更好?

此外,歡迎在單元測試中使用斷點的一般註釋! :-)

回答

1

我過去使用過Google Toolbox測試工具,它工作的很好,它在模擬器和設備上運行,我可以調試我的測試,如果我想。最近我厭倦了將我的每個項目的代碼捆綁在一起,並嘗試蘋果的方式。

我也發現邏輯/應用測試分裂怪異,特別是因爲我找不到任何方式來調試現在的邏輯測試。 (如果你正在使用某些不會爲Simulator構建的部分,你顯然完全不滿意邏輯測試,這似乎很奇怪。)其中一個優點是我可以在構建過程中快速運行邏輯測試。

我想這對你沒什麼幫助 - 關鍵是你可以在GTM下調試測試。你也可能想看看this related question

0

我知道這不是一個很好的答案,也不完全有助於你的事業。但我一直在使用NSLog來運行我的單元測試(如果沒有輸出到控制檯,那麼成功)。當我註釋掉我的測試方法時,測試將不會運行。我發現這比OCUnit更可預測和可靠。我寧願使用一個真正的單元測試器,但是處理OCUnit經常會出現的奇怪錯誤以及上面描述的其他缺陷/缺乏功能太令人沮喪了。