* 编辑 - 我原本想用Nocilla
测试AFNetworking
,但最终使用OHHTTPStubs
来完成这项工作。我已经回答了下面原来的问题,使用OHHTTPStubs
*如何测试AFNetworking
原题:
我想测试我们的应用程序的APIClient - 其中需要进行测试详述如下方法之一的梗概。所以我需要模仿来自AFNetworking
的HTTPRequestOperationWithRequest:
电话。 Nocilla
似乎是一个选择来做到这一点(比OCMock
更适合)。 我已经签出the github page其中涉及Nocilla
和AFNetworking
但我不知道如何将其应用于我的问题 - 语法不是很熟悉。
- 所以我想知道如果有人可以给我一个暗示,我可能会在这种情况下使用
Nocilla
? - 此外,必须使用
Kiwi
与Nocilla
?
感谢提前:)
-(AFHTTPRequestOperation *)getBroadcastsForChannel:(TINChannel *)channel
startTime:(NSDate *)date
limit:(NSNumber *)limit
pastLimit:(NSNumber *)pastLimit
fields:(NSArray *)fieldsArray
interval:(TINBroadcastsInterval)interval
completionBlock:(void (^)(NSArray *broadcasts, NSError *error))block {
// Some setup here
NSURLRequest *request = [self requestWithMethod:@"GET" path:path parameters:params];
AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSError *error;
NSDictionary *responseDic = [self parseResponse:responseObject error:&error];
if (error) {
if (block) {
block([NSArray array], error);
}
return;
}
// Parse the response object here
if (block) {
block([NSArray arrayWithArray:broadcastsOutput], nil);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (block) {
block([NSArray array], error);
}
}];
[self enqueueHTTPRequestOperation:operation];
return operation;
}
我一直在寻找这个太的答案! – bilby91
我设法通过使用不同的库 - “OHHTTPStubs”来实现这个工作。当我有机会时,我会在几个小时后发布一些示例代码。 – Octave1
@ bilby91我添加了一些代码,使用'OHHTTPStubs'测试'AFNetworking'。也许这对你有一些用处。 – Octave1