2011-08-21 4 views
3

OCUnit/SenTest 프레임 워크를 사용하여 비교적 편하게 느낀 통합 테스트를 작성하려고합니다. 이 테스트는 성공적으로 임포트되는 CoreData Managed Object Model에 의존하는 NSPersistentDocument-subclass의로드에 관한 테스트입니다.유닛 테스트에서 NSPersistentDocument로드하기

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 나는 하루 종일 노력해 왔고 또 다른 문제가있었습니다. 어떤 오류가

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]이 제로 : 이렇게 (relevence에 대한 손질).

주 응용 프로그램을 실행하면 (단원 테스트가 아닌 경우) 예상대로 작동합니다. docUrl에있는 파일이로드되고 인터페이스가 올바르게 채워집니다.

무엇이 누락 되었습니까?

답변

1

코드가 두 가지 초기화 스타일을 혼합하는 것으로 보입니다. NSPersistentDocument은 코어 데이터 스택을 자동으로 설정합니다 (-init).

대신을 시도해보십시오

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