2016-04-01 5 views

答えて

2

一般に、呼び出しを実際のクラスまたはインスタンスでスタブするつもりはありません。この場合、モックで呼び出しをスタブする必要があるときに、クラスの呼び出しをスタブしています。クラスモックを作成してから、モック上でメソッド呼び出しをスタブする必要があります。

簡単な例:

id locationManagerMock = OCMClassMock([CLLocationManager class]); 
OCMStub([locationManagerMock authorizationStatus]).andReturn(kCLAuthorizationStatusAuthorizedAlways); 

// Now this will pass! 
XCTAssertEqualObjects([CLLocationManager authorizationStatus], kCLAuthorizationStatusAuthorizedAlways); 

あなたはより多くを学ぶしたい場合は、ほぼ同じ例及びこれを少しより詳細な説明はMocking class methodsためOCMockの参照に記載されています。参考文献のセクションは少し簡潔ですが、それにもかかわらず、フレームワークを簡潔に説明し、いつ使うべきかについてはかなり良い仕事をしています。

関連する問題