ios – 从命令行运行’Cedar’单元测试时出错
我正在使用雪松测试框架并尝试从命令行运行测试.
构建崩溃时出现此错误: Unresolved error Error Domain=NSCocoaErrorDomain Code=512 "The operation couldn’t be completed. (Cocoa error 512.)" UserInfo=0x6c5c6c0 {reason=Failed to create file; code = 2},{ reason = "Failed to create file; code = 2"; } 测试从xcode运行没有任何问题,我只是无法让他们从命令行工作. 解决方法
我在单元测试和核心数据方面遇到了同样的问题:
首先我遇到了“找不到商店模特”.我用这个帖子解决了这个问题:Error running ‘Cedar’ unit tests from command line 其次我得到了同样的错误:“创建文件失败;代码= 2” 然后我查看了URL并看到了: NSPersistentStoreCoordinator和NSManagedObjectModel的URL非常不同.但只有当我进行单元测试并且仅在修复第一个错误之后. 通常模型位于“/some/path/u0026lt;DataModelFileu0026gt;.app/u0026lt;DataModelu0026gt;.momd/ 因此,我使用以下代码在测试和运行中获取正确的URL: NSBundle *bundle = [NSBundle bundleForClass:[self class]]; NSURL *modelURL = [bundle URLForResource:@"WinNav" withExtension:@"momd"]; basePath = @""; NSArray *arr = [modelURL pathComponents]; for (int i=0; i<[arr count]-2; i++) { basePath = [basePath stringByAppendingString:[arr objectAtIndex:i]]; if (i > 0) basePath = [basePath stringByAppendingString:@"/"]; } NSLog(@"modelURL: %@",modelURL); NSURL *storeUrl = [NSURL fileURLWithPath:[basePath stringByAppendingString:@"/Documents/Locations.sqlite"]]; 如果我没记错,那么我必须创建存储sqlite文件的“Documents”文件夹. 如果这对您有用或如何更好地做出任何意见/建议,我们表示赞赏. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c# – 尝试构建一个视图并且“无法检索元数据”和“验证错误
- c# – ASP.NET Core CreatedAtRoute没有路由匹配提供的值
- Flash Builder 连接不上 debugger
- quick-cocos2d-x如何在mac下编译安卓版本
- 2017-03-27Oracle故障gc buffer busy acquire导致数据库不可
- c# – 如何在Windows(xp,vista,7)欢迎屏幕或锁定屏幕(如VNC
- grep和正则表达式
- Oracle Database 联机日志文件管理
- postgresql – 使用n:m和1:m关联的Sequelize delete实例并
- ruby-on-rails – 大十进制存储为60.00,返回0.0?