我有專門的章節我的代碼(例如在AppDelegate.m)不應該對單元測試進行編譯,就像的Xcode:爲條件調試/測試代碼預處理宏
#ifndef CONFIGURATION_TESTS
// Code that should not be compiled in the Unit Tests
#endif
目標是建立當你在創建一個新項目時選擇'添加單元測試'時,通過Xcode。 在項目文件中,我已經將標誌CONFIGURATION_TESTS添加到MyAppTests Built-Target的預處理器宏中,但不添加到MyApp目標中。
這是我發現的很多帖子中的建議方式。
但這不起作用,因爲(我猜)MyAppTests目標將MyApp目標作爲依賴項,並且因爲AppDelegate.m被添加到MyApp目標中,所以它將與MyApp生成設置一起編譯,因此, CONFIGURATION_TESTS未定義。
在單元測試文件中的宏定義和行爲與預期(因爲測試文件只被MyAppTests構建目標?)
有誰知道如何做到這一點,我認爲這將是一個共同的問題...
寫了一個詳細的一步一步的解釋比我有同樣的問題,不能弄明白 – shawnwall 2012-05-01 21:06:57
「這不工作:1)CONFIGURATION_TEST總是真實的?2)從來沒有真正的?3)在單元測試但在應用程序中?4)在應用程序,但不是單元測試?(詢問頭腦想知道...) – geowar 2013-01-01 18:20:18