0

RestKit を使用してオブジェクトを (CoreData に) ロードする単体テストを実行したいと考えています。しかし、サーバーに到達できない可能性があるため、単体テスト (または RestKit) を実際にサーバーに接続したくありません。

リモートサーバーに接続する代わりに、応答としてフィクスチャ (定義済みの json ファイル) を使用するように RestKit に指示するにはどうすればよいですか? RestKit を使用した RKFixture とユニット テストについては知っていますが、それは私の問題をカバーしていません。

4

1 に答える 1

0

このスレッドの最後の回答は、特定の問題に役立つ場合があります。ところで、あなたはGHUnitを見たことがありますか? これは、非同期単体テストを可能にする非常に優れた単体テスト フレームワークです。通常、サーバー障害はとにかくテストする必要があります。

単体テストがマッピング機能をテストするように設計されている場合は、次の代替手段もあります。

//Create object mapper
RKObjectMapper* mapper = [RKObjectMapper mapperWithObject: obj  mappingProvider:mappingProvider];
mapper.context = RKObjectMappingProviderContextObjectsByKeyPath;

//Perform mapping
RKObjectMappingResult* mappingResult = [mapper performMapping];

NSArray *results = [mappingResult asCollection]

これは基本的に RKObjectLoader 内で発生することです。ここで、obj は、テスト データを使用して作成できる、解析された JSON オブジェクト (NSDictionary または NSArray) です。

于 2012-07-08T20:27:11.247 に答える