2012-07-07 51 views
0

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

如何告诉RestKit使用fixture(预定义的json文件)作为响应,而不是连接到远程服务器?我知道RKFixture和Unit testing with RestKit但这并不包括我的问题。

回答

0

this线程中给出的最后一个答案可能对您的具体问题有用。顺便说一句,你看起来是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)。

+0

谢谢,它看起来与我的问题有关,或者至少给我一些提示我应该看什么方向。我会及时向大家发布。 – jpalten 2012-07-09 04:38:28