Ios 单元测试没有看到托管对象模型的新版本
我已经创建了托管对象模型的新版本(新xcdatamodel文件),更新了xcdatamodeld,使新版本为“当前”,并向实体(循环)添加了一个属性(HassStartWithFlow)。HassStartWithFlow是布尔型的,不是可选的,默认值为否。我已经更新了Cycle.hIos 单元测试没有看到托管对象模型的新版本,ios,unit-testing,core-data,Ios,Unit Testing,Core Data,我已经创建了托管对象模型的新版本(新xcdatamodel文件),更新了xcdatamodeld,使新版本为“当前”,并向实体(循环)添加了一个属性(HassStartWithFlow)。HassStartWithFlow是布尔型的,不是可选的,默认值为否。我已经更新了Cycle.h @property (nonatomic) BOOL hasStartWithFlow; 还有骑自行车。我有 @dynamic startsWithFlow; 我在单元测试代码中实例化了一个新的持久存储文件(s
@property (nonatomic) BOOL hasStartWithFlow;
还有骑自行车。我有
@dynamic startsWithFlow;
我在单元测试代码中实例化了一个新的持久存储文件(sqlite),然后尝试设置新值:
cycle.startsWithFlow = true;
我得到错误-[Cycle setStartsWithFlow:]:无法识别的选择器被发送到实例0x192ebf0
。如果我中断单元测试执行并检查[NSEntityDescription entityForName:@“Cycle”inManagedObjectContext:context]
,我会发现它不包括我的新属性
我遗漏了什么?我不确定这是否真的解释了问题所在,但重新启动Xcode解决了我的问题。Hm../Xcode/DerivedData//Build/Products/Debug iphonesimulator/AppNameLogicTests.octest/DataModel.momd/VersionInfo.plist仍然有指向旧版本的NSManagedObjectModel\u CurrentVersionName,尽管它说文件在我上次构建时更新过。删除octest包中的DataModel.momd目录只会导致重新创建错误的值。嗯。听起来好像当你更新模型时,你只更新了主要应用目标的设置,而没有更新单元测试目标的设置。我该怎么做呢?有一个xcdatamodeld源文件,已检查两个目标的目标成员资格。我只看到一个地方可以设置currentVersion(在文件检查器的“版本化核心数据模型”下)。