3

比較的快適なOCUnit/SenTestFrameworkを使用して統合テストを作成しようとしています。テストは、正常にインポートされているCoreData管理対象オブジェクトモデルに依存する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]ゼロです。

メインアプリケーションの実行(単体テストではない)は期待どおりに機能します。docUrlのファイルが読み込まれ、インターフェイスが正しく読み込まれます。

私は何が欠けていますか?

4

1 に答える 1

1

あなたのコードは2つの初期化スタイルを混ぜ合わせているようです。NSPersistentDocumentでコアデータスタックを自動的に設定します-init

代わりにこれを試してください:

MyDocument *mdoc = [[MyDocument alloc] init];
STAssertTrue([mdoc readFromURL:docUrl ofType:@"dfb" error:&error],
             @"File not loaded: %@", [error localizedDescription]);
于 2012-03-10T16:33:22.280 に答える