我想测试一个发出 GET 请求的方法。
这是一个人为的例子:
- (void)GET:(NSString *)URLString;
与其担心此方法的实现细节(例如,模拟、设置期望,然后验证依赖项),我更愿意能够测试是否发出了 GET 请求。
我相信我可以用NSURLProtocol做到这一点,但到目前为止我的尝试都没有成功。
例如,使用 OCMock:
id mockURLProtocol = (NSURLProtocol *)[OCMockObject mockForClass:[NSURLProtocol class]];
[NSURLProtocol registerClass:mockURLProtocol];
[[mockURLProtocol expect] canInitWithRequest:[OCMArg any]];
[MYClass GET:@"test"];
[mockURLProtocol verify];
[mockURLProtocol stopMocking];
[NSURLProtocol unregisterClass:mockURLProtocol];
上述测试失败,因为从未调用过 canInitWithRequest。
如何在 NSURLProtocol 上设置期望以验证请求是否正在发出?