【发布时间】:2011-10-30 07:09:25
【问题描述】:
我有一个预先存在的项目,我已向其中添加了 Core Data 模型。我添加了 Core Data 框架,添加了一个带有实体的数据模型,并将它与一些生成的 NSManagedObject 类一起包含在我的应用程序的目标中。它编译得很好,现在我想为我创建的实体添加一些测试。在these instructions 之后,我使用setUp 方法设置了一个逻辑测试基类,如下所示:
- (void)setUp {
model = [NSManagedObjectModel mergedModelFromBundles:nil];
NSLog(@"model: %@", model);
coord = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model];
store = [coord addPersistentStoreWithType:NSInMemoryStoreType
configuration:nil
URL:nil
options:nil
error:NULL];
ctx = [[NSManagedObjectContext alloc] init];
[ctx setPersistentStoreCoordinator:coord];
}
这会编译并创建所有对象。但是,模型没有实体! NSLog() 输出如下所示:
2011-10-29 23:56:58.941 otest[42682:3b03] model: (<NSManagedObjectModel: 0x19c6780>) isEditable 1, entities {
}, fetch request templates {
}
那么我的实体在哪里?我浏览了这个包,也没有.momd 文件。我是否错过了构建模型的关键步骤?
【问题讨论】:
-
您的意思是您已将实体添加到模型中,还是添加了实体的实际实例,其中包含数据?
-
核心数据中有很多延迟加载 - 文档说加载模型不一定会加载实体 - 如果您记录 [模型实体] 会发生什么?
-
@jrturton:我已将实体添加到我的模型中。 [模型实体] 返回一个空数组。
标签: ios testing core-data entities sentestingkit