OCMock에 대한 문서는 훌륭하고 명확합니다. 내 특정 클래스 수준의 함수 stubbed 있습니다. 그것은 요청에 대해, 그리고이 같은 외모 : 나는 [OCMArg invokeBlockWithArgs:@(1), @[@(apiRequestCount)], requestOperation, [[NSError alloc] init], @(0), nil]
입니다에 관심함수의 블록을 OCMock으로 스텁하여 증분 값을 반환하려면 어떻게해야합니까?
OCMStub([self.mockApiManager
requestToURL:[OCMArg any]
method:[OCMArg any]
keypath:[OCMArg any]
parameters:[OCMArg any]
objectClass:[OCMArg any]
shouldRetry:NO
retryBlock:nil
withCompletionBlock:([OCMArg invokeBlockWithArgs:@(1), @[@(apiRequestCount)], requestOperation, [[NSError alloc] init], @(0), nil])])._andDo(^(NSInvocation *invocation) {
apiRequestCount++;
});
부분을. 특히 apiRequestCount에서 전달하는 곳.
apiRequestCount는 테스트 클래스의 정적 인 int입니다. 내가 원하는 것은 -requestToURL:metho...
함수가 호출되거나 매입 될 때마다 증가 된 값을 되 돌리는 것이다. 그걸 한 번 호출하면 0을 반환합니다. 두 번째로 호출하면 1을 반환합니다.
그러나이 함수가 3 번 스터브되었지만 invokeBlockWithArgs에 0을 얻습니다. 누구든지이 문제를 해결할 방법을 생각할 수 있습니까?