1
我是Objective-C和OCMock的新手。我創造了這個小測試,並期望它來傳遞,但它失敗:不能存根方法([NSData initWithBase64EncodedString])
-(void)testMock
{
id dataMock = [OCMockObject niceMockForClass:[NSData class]];
[[[dataMock stub] andReturn:dataMock] initWithBase64EncodedString:[OCMArg any]
options:[OCMArg any]];
NSData *ret = [dataMock initWithBase64EncodedString:@"dGVzdA=="
options:NSDataBase64DecodingIgnoreUnknownCharacters];
XCTAssertEqualObjects(dataMock, ret);
}
正如你看到的,我存根方法,並命令它返回dataMock
,但它返回null:
Assertions: ((dataMock) equal to (ret)) failed:
("OCMockObject(NSData)") is not equal to ("(null)")
備註:使用init
而不是initWithBase64EncodedString
測試,按預期工作並通過。
我正在使用XCode 6.0.1併爲iOS 8.0編程。