Run*_*oop 7 unit-testing core-data objective-c ios
我使用Core Data自动生成的类.除了测试目标,我的项目还有3个目标.对于每个目标,正确生成Core Data类,我通过检查Derived Data文件夹进行验证.但是,尽管在核心数据模型文件中打勾,但不会为测试目标生成类.当我尝试引用测试目标中的一个Core Data类时,这会导致"未声明的标识符"和"使用未声明的类型"错误.我该如何解决这个问题?
您不需要为每个测试目标生成额外的类 - 您的导入过程应该导入所有内容,并且不需要将任何文件添加到其他目标。
声明@testable import MyProject
应该照顾一切。
@import MyProject;
Run Code Online (Sandbox Code Playgroud)
在 Xcode 9.1 中.xcdatamodel
也尝试将您的代码添加到测试目标中。所有自动生成的类也将被导入。
这是由于 Xcode (8.3.1) 中当前存在一个错误,尽管项目编译成功,但在全局路径上无法找到自动生成的 NSManagedObject 类(codegen 设置为“类定义”)。解决这个问题的唯一方法是通过将每个实体的 codegen 设置为“Manual/None”来手动生成 NSManagedObject 类。