gpt4 book ai didi

objective-c - 从单元测试加载 NSPersistentDocument

转载 作者:搜寻专家 更新时间:2023-10-30 20:26:43 24 4
gpt4 key购买 nike

我正在尝试使用我觉得相对舒服的 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 的文件并正确填充界面。

我错过了什么?

最佳答案

您的代码似乎混合了两种初始化样式。 NSPersistentDocument-init 中自动设置其核心数据堆栈。

试试这个:

MyDocument *mdoc = [[MyDocument alloc] init];
STAssertTrue([mdoc readFromURL:docUrl ofType:@"dfb" error:&error],
@"File not loaded: %@", [error localizedDescription]);

关于objective-c - 从单元测试加载 NSPersistentDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7135585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com