我有一个混合语言项目。我已经开始将Swift用于生成的Core Data实体。遇到单元测试问题。我试图创建我的实体之一的实例,并遇到某种名称空间问题。

这是我尝试将其分配给变量时收到的消息。


  无法转换类型为'ExpenseManager.ExpenseItem'的值
  (0x7fae51f4ff40)到'ExpenseManagerTests.ExpenseItem'(0x115e109e0)。


从CoreData返回的实体类型是正确的-但由于我的单元测试中的某些原因,它认为它需要转换为单元测试目标的名称空间。

仍然呈现为Objective-C的实体无法解决此问题。在Swift中只有此类ExpenseItem。

关于应解决的问题有什么想法?

最佳答案

确保您的ExpenseItem类仅将ExpenseManager作为目标。在测试文件中,使用@testable import ExpenseManager来访问ExpenseItem。

这样做解决了我在项目中遇到的问题。

10-04 21:08