1

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 に期待値を設定して、リクエストが行われたことを確認するにはどうすればよいですか?

4

1 に答える 1