2016-04-25 86 views
0

我有一個混合語言項目。我已經開始使用Swift生成核心數據實體。遇到單元測試問題。我試圖創建一個我的實體的實例,並獲得某種名稱空間問題。單元測試中ManagedObject上的swift核心數據錯誤命名空間

這是當我嘗試將它分配給一個變量時我得到的消息。

無法投型的值 'ExpenseManager.ExpenseItem' (0x7fae51f4ff40)到 'ExpenseManagerTests.ExpenseItem'(0x115e109e0)。

從CoreData返回的實體類型是正確的 - 但由於某種原因,在我的單元測試中,它認爲它需要轉換爲我的單元測試目標的名稱空間。

對於仍然呈現爲Objective-C的實體,未發現此問題。只有這個類,ExpenseItem,它在Swift中。

任何想法,我應該看看解決?

+1

確保您的ExpenseItem類只有ExpenseManager作爲目標。在您的測試文件中使用@testable導入ExpenseManager以獲取對ExpenseItem的訪問。這樣做解決了我在項目中遇到的問題。 – Gustanas

+0

thx @Gusta。這解決了它。 – DaveDude

+0

很高興工作,我會將它作爲答案發布。 – Gustanas

回答

0

確保您的ExpenseItem類只有ExpenseManager作爲目標。在您的測試文件中使用@testable導入ExpenseManager以獲取對ExpenseItem的訪問。

這樣做解決了我在我的項目中遇到的問題。