2012-10-02 61 views
1

我成功地將獼猴桃測試框架添加到使用Cocoapods的現有項目中。用現有的項目+ cocoapod依賴關係設置獼猴桃

target :KiwiUnitTest do 
    pod 'Kiwi' 
end 

我可以創建一個非常基本的測試,並將它傳遞:

describe(@"A simple test", ^{ 
    context(@"when adding 1 + 1", ^{ 
     it(@"should equal 2", ^{ 
      [[theValue(1+1) should] equal:theValue(2)]; 
     }); 
    }); 
}); 

然而,當我試圖測試我的車型之一,事情土崩瓦解。

我包括我的天賦我的模型的.h文件中:

#import "MyModel.h" 

然後整體轉換的錯誤進來時,我跑我的測試。

,我想不出有幾件事情:

  • 如前所述,我說我的測試目標,以現有的項目。我如何與我的新測試目標共享我的模型類?只需在Build Phases/Compile Sources中選擇.m文件?
  • 如果我的模型使用其他模型/幫助類/類別,我是否也需要與測試目標共享這些模型/幫助類/類別?我是否還需要將所有這些文件導入到我的spec文件中?
  • 我的模型依賴於AFNetworking,我也將它安裝爲一個Cocoapod。我如何在測試目標中使用該庫?我試過簡單地導入AFNetworking.h,但那顯然失敗了。

謝謝!

+0

我真的希望我也能得到這個工作。我已經按照Kiwi wiki上的說明設置了它,並且它可以工作 - 直到我引入我自己的代碼/導入。啊。 –

回答

0
  • 我讀過的其他意見,但我們結束了包括在「編譯源代碼」的測試目標的所有非測試.m文件,除了測試代碼的.m文件
  • 添加測試目標後,您可能需要再次運行pod install。它應該爲你設置測試目標和正常目標的依賴關係。
+0

那麼,那種工作。我將所有非viewController文件添加到「編譯源代碼」,但運行pod安裝似乎沒有任何影響。我仍然收到大量的錯誤,所以我基本上在我的測試目標中複製了「鏈接庫與庫」部分。這擺脫了我看到的所有錯誤,但現在我得到了'加載錯誤... KiwiUnitTest:dlopen(...)未找到符號:_objc_setProperty_nonatomic ... IDEBundleInjection.c:加載包(... KiwiUnitTest錯誤。 octest)。好東西我在一個分支上,因爲現在這一切都是一團糟。 – djibouti33