我试图通过使用XCTest类和方法在
Xcode 5中单元测试我的模型.
因为我的模型类继承了managedobject,我不能只是实例化(alloc / init)它们,而是调用getter和setter或者我需要测试的方法.
我需要使用NSEntityDescription创建它们并使用managedobjectContext.
那就是这一点,我有麻烦.
我不知道在哪里以及如何创建用于单元测试的managedobjectContext的目的.
如果有人有一些建议或代码示例,这将是非常有帮助的.
谢谢.
解决方法
我使用内存存储来进行单元测试,并创建其中的所有实体.
此类方法可以放在TestsHelper.m中
+ (NSManagedobjectContext *)managedobjectContextForTests { static NSManagedobjectModel *model = nil; if (!model) { model = [NSManagedobjectModel mergedModelFromBundles:[NSBundle allBundles]]; } NSPersistentStoreCoordinator *psc = [[NSPersistentStoreCoordinator alloc] initWithManagedobjectModel:model]; NSPersistentStore *store = [psc addPersistentStoreWithType:NSInMemoryStoreType configuration:nil URL:nil options:nil error:nil]; NSAssert(store,@"Should have a store by Now"); NSManagedobjectContext *moc = [[NSManagedobjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType]; moc.persistentStoreCoordinator = psc; return moc; }
这对我有用,因为我使用依赖注入来传递我的moc,而不是使用单例.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。