4
OCMockito를 사용하여 기본 값으로 인수를 캡처하는 방법은 무엇입니까?OCMockito 기본 유형을 캡처합니까?
MKTArgumentCaptor는 개체 유형 만 캡처 할 수있는 것 같습니다. Xcode는 "정수 변환에 호환되지 않는 포인터"라고 말합니다.
OCMockito를 사용하여 기본 값으로 인수를 캡처하는 방법은 무엇입니까?OCMockito 기본 유형을 캡처합니까?
MKTArgumentCaptor는 개체 유형 만 캡처 할 수있는 것 같습니다. Xcode는 "정수 변환에 호환되지 않는 포인터"라고 말합니다.
원시적 인 주장에 대해서는 약간의 춤을 추어야합니다. 의 우리가있는 NSMutableArray를 조롱하고 OCMockito을, 우리가 더미 값 (0은 잘 할 것)가
- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;
대신 당신에게 유형의 충돌을 제공
[verify(mockArray) replaceObjectAtIndex:[argument capture] withObject:anything()];
에 전화를 확인하지만 추가하고 싶어한다고 가정 해 봅시다 주어진 인수 인덱스에 정규를 오버라이드 (override) 전화 : -withMatcher:forArgument:
의 인수 인덱스는 첫 번째 인수 0 기반
[[verify(mockArray) withMatcher:[argument capture] forArgument:0]
replaceObjectAtIndex:0 withObject:anything()];
, 그래서 이것은 들어 "라고 첫 번째 인수는 전달 된 것을 무시하고 대신이 정규 표현식을 사용합니다. "
은 단지 첫번째 인수에이를 수행하는 방법 -withMatcher:
가되므로 본 실시 예는 다음의 NSNumber 반환
[[verify(mockArray) withMatcher:[argument capture]]
replaceObjectAtIndex:0 withObject:anything()];
[인수 값]로 단순화 될 수있다. – huggie
맞습니다. 그런 다음 NSNumber를 가져다가 원하는 것을 묻습니다. –