0

我想运行单元测试,使用 RestKit 加载对象(到 CoreData)。但我不希望我的单元测试(或 RestKit)实际连接到服务器,因为服务器可能无法访问。

如何告诉 RestKit 使用夹具(预定义的 json 文件)作为响应,而不是连接到远程服务器?我知道 RKFixture 和使用 RestKit 进行单元测试,但这并不能解决我的问题。

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 回答