- (void)testStringExample {
// Given
NSString *testString = @"Test";
id mock = OCMClassMock([NSString class]);
OCMStub([mock stringWithContentsOfFile:OCMOCK_ANY
encoding:NSUTF8StringEncoding
error:nil]).andReturn(testString);
// When
NSString *result = [NSString stringWithContentsOfFile:@"SomeFilePath"
encoding:NSUTF8StringEncoding
error:nil];
// Then
XCTAssertEqualObjects(result, testString);
}
正如您所看到的,我一直在尝试使用OCMock存根NSString类方法,但似乎没有任何运气。测试失败,表明“(null)”不等于“Test”,但我不确定为什么没有正确调用mocked方法。我在iOS上使用OCMock 3.1.2。任何帮助非常感谢。
答案 0 :(得分:0)
在做了更多阅读之后,我怀疑我遇到了与以下帖子中显示的问题类似的问题:
我随后采用了克里斯托弗皮克莱(Christopher Pickslay)在上面的帖子中提出的方法,这是一种享受。