我使用Kiwi框架通过Magical Record库来测试我的代码和Core Data之间的交互。神奇记录在NSManagedObject上定义了一个类别,它添加了一些不错的方法,比如MR_createInContext:(NSManagedObjectContext *)上下文。我试图测试是否这个方法被调用,并且被调用了多少次。Kiwi + MagicalRecord方法不存在
it(@"should create new object for me object with new id", ^{
[[[NSManagedObjectContext MR_contextForCurrentThread] should] receive:@selector(MR_createInContext:)];
Me *me = [Me meWithID:@"12345" inContext:[NSManagedObjectContext MR_contextForCurrentThread]];
[me shouldNotBeNil];
[[me.idNumber should] equal:@"12345"];
});
的问题是,猕猴桃似乎并没有看到该类别尽管
#import <CoreData+MagicalRecord.h>
测试.m文件
。
ME_ShouldCreateNewObjectForMeObjectWithNewId(EHMeSpecs)失败,“我,我,应该创建新的对象,我用新的ID对象” [失败],不能存根-MR_createInContext:因为没有这样的方法存在
我怎样才能使猕猴桃知道的类别?
该方法创建一个新的或返回一个提取的对象。有必要测试一下,因为我想确认第一次看到该对象时,它将被创建,并且nil不会被返回。因此MR_createInContext将被提取。顺便说一句,我发现错误,这种方法是在NSManagedObject而不是上下文上定义的。 – foFox 2013-05-02 21:29:06
MR_createInContext将被调用* – foFox 2013-05-02 21:35:49