我正在尝试使用我觉得相对舒服的 OCUnit/SenTest 框架编写集成测试。该测试是关于 NSPersistentDocument 子类的加载,该子类依赖于已成功导入的 CoreData 托管对象模型。
解决此问题的最佳方法是什么?我一直在尝试一整天,这是一个接一个的问题。这样做(为了相关性而修剪):
NSManagedObjectContext *moc = [NSManagedObjectContext new];
[moc setPersistentStoreCoordinator:coordinator];
MyDocument *mdoc = [MyDocument new];
[mdoc setManagedObjectContext:moc];
STAssertTrue([mdoc readFromURL:docUrl ofType:@"dfb" error:&error], @"File not loaded: %@", [error localizedDescription]);
不会产生错误,但文档的托管对象上下文为空 - 即[[mdoc.managedObjectContext registeredObjects] count]
为零。
运行主应用程序(不在单元测试下)按预期工作。docUrl 处的文件加载并且界面正确填充。
我错过了什么?