1
我想測試一個GET請求的方法。如何使用OCMock或OCMockito驗證對NSURLProtocol模擬的方法調用?
這裏是一個人爲的例子:
- (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的期望值以驗證請求是否正在創建?
爲了澄清,我意識到上述只是一個起點,我需要做更多的工作來驗證我所期望的請求實際上是否成立。 –
你的類的GET方法的代碼是什麼? –
它目前使用AFNetworking,但重點不在於真正關心方法內部發生了什麼。 –