2016-06-09 2 views
0

새 인스턴스 스텁 값을 반환하지 않습니다 그리고 나는 아래의 테스트를 작성했습니다 :OCMock 내가 아래 클래스</p> <pre><code>@implementation B - (NSString *)returnMock{ return @"BBB"; } @end </code></pre> <p>를 작성해야

- (void)testB { 
    id mockB = [OCMockObject mockForClass:[B class]]; 
    [[[mockB stub] andReturn:@"mock"] returnMock]; 

    //This check is a pass 
    XCTAssertEqualObjects(@"mock", [mockB returnMock]); 

    B *b = [[B alloc] init]; 
    //This check is a fail 
    XCTAssertEqualObjects(@"mock", [b returnMock]); 
} 

내가 모의 경우, 이해로 클래스에 대해 생성 된 다음 새로운 인스턴스에 대해 조롱 된 클래스를 참조합니다.

사실이 아니라면 새 인스턴스를 만든 후 두 번째 어설 션을 전달하는 데 도움을 줄 수 있습니까?

감사

답변

0

모의 객체는 클래스의 인스턴스의 대신을 사용할 수 있습니다. 모의 객체를 생성해도 클래스의 인스턴스에는 영향을 미치지 않습니다. 기존 인스턴스에서 메소드를 조롱하려면 특정 인스턴스에 부분 모크 을 사용해야합니다.