0
안녕하세요, TCH 방법론을 사용하여 경로를 시작하기 위해 OCHamcrest와 OCMockito를 사용하고 있습니다. 정말 멋진 도구이지만, 내가 이해하지 못하는 것 중 하나가 있습니다. 프로토콜을 조롱하고 매개 변수를 평가하려고합니다. 그것은 같은 기대 작품매개 변수 테스트 OCMockito를 사용하여 모의 프로토콜로 전송
- (void)testVerifyWithMatcherForPrimitive
{
NSMutableArray *mockArray = mock([NSMutableArray class]);
[mockArray removeObjectAtIndex:2];
[[verify(mockArray) withMatcher:greaterThan([NSNumber numberWithInt:1]) forArgument:0]
removeObjectAtIndex:0]; // The 0 is a placeholder, replaced by the matcher
}
,하지만 난 모의 프로토콜이를 복제 할 때 항상 예를 들어, 시험을 통과 :
- (void)testFirstParameter
{
// given
id<TestProtocol> mockElement = mockProtocol(@protocol(TestProtocol));
// when
id toProcess = nil;
[mockElement process: toProcess];
// then
id firstArgumentMatcher = instanceOf([NSArray class]);
[[verify(mockElement) withMatcher: firstArgumentMatcher forArgument: 0] process: toProcess];
}
코드와 함께 제공되는 예제를 고려
이 테스트에서는 인수가 NSArray 클래스의 인스턴스임을 테스트하려고하는데 통과해서는 안됩니다. 내가 뭘 잘못하고 있는지 발견하도록 도와 줄 수 있겠 니?
난 당신이 단지 원시적 인수를 사용withMatcher:forArgument:
을
[[verify(mockElement) process:instanceOf([NSArray class])];
하려는 생각, 당신에게
루이스 알레한드로
정확! 고맙습니다 ... (이 위대한 도구들에 대해 감사드립니다) :) – xlarsx