Magical Record 라이브러리를 통해 내 코드와 핵심 데이터 간의 상호 작용을 테스트하기 위해 Kiwi 프레임 워크를 사용하고 있습니다. Magical 레코드는 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"];
});
문제는 키위 테스트하는 .m 파일에
#import <CoreData+MagicalRecord.h>
에도 불구하고 해당 범주를 참조하지 않는 것이다.
ME_ShouldCreateNewObjectForMeObjectWithNewId (EHMeSpecs가) 실패 : -MR_createInContext 스텁 수없는, [실패] '나에게 새로운 ID로 객체를위한 ME는 새로운 객체를 생성해야한다'그런 방법은
존재하지 않기 때문에 어떻게의 키위 인식 할 수 있습니다 범주?
이 메서드는 새로운 메서드를 생성하거나 반입 된 개체를 반환합니다. 테스트 할 필요가 있습니다. 객체를 처음으로 볼 때이를 확인하고, 객체가 생성되고 nil이 리턴되지 않는다는 것을 확인하고 싶습니다. 따라서 MR_createInContext가 반입됩니다. BTW 내가 오류를 발견,이 메서드는 컨텍스트가 아닌 NSManagedObject에 정의되어 있습니다. – foFox
MR_createInContext가 호출됩니다. * – foFox