4
NSURLConnection에 대한 호출을 모의하려고합니다. 내 모의 객체를 호출하는 클래스 메소드 호출을 내 자신으로 바꿔 놓았다. 나는이 같은 모의을 구현하기 위해 노력하고있어 :Objective-C에서 포인터에 포인터를 조롱
[[[[urlConnectionMock expect] andDo:^(NSInvocation *invocation) {
NSURLResponse * __autoreleasing *responsePointer;
[invocation getArgument:&responsePointer atIndex:3];
id response = [OCMockObject niceMockForClass:NSHTTPURLResponse.class];
[[[response stub] andReturnValue:OCMOCK_VALUE((NSInteger){ 200 })] statusCode];
*responsePointer = response;
}] andReturn:encryptedResponse] sendSynchronousRequest:OCMOCK_ANY returningResponse:OCMOCK_ANY error:OCMOCK_ANY];
문제는 OCMOCK_ANY는 오브젝티브 C 포인터가 아닌 포인터 (컴파일러가 바르게 불만)에 대한 포인터이다. OCMock 소스를 더 깊이 파고 들기 전에 누군가이 문제를 해결할 수있는 방법을 제안 할 수 있습니까? 당신이 전적으로 더 나은 접근법을 가지고 있다면 완전한 신용이 주어집니다.
OCMock 프로젝트가 아직 실행되지 않아 오랫동안 사용하지 않아서 어둠 속에서 촬영되었습니다. [OCMArg anyPointer]를 사용해 보셨습니까? –
@CarlVeazey 네, 그 주사를 줬습니다. 주사위는 없었습니다. 나는 OCMArg를 확장하고 NSURLResponse **를 구현할 수있을 것이라고 생각합니다. ** 어쨌든 내일을위한 나의 계획입니다. –