【问题标题】:Stubbing Class Method in OCMockOCMock 中的存根类方法
【发布时间】:2015-03-25 16:40:26
【问题描述】:
- (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”,但我不确定为什么没有正确调用模拟方法。我在 iOS 上使用 OCMock 3.1.2。非常感谢任何帮助。

【问题讨论】:

    标签: objective-c ocmock


    【解决方案1】:

    阅读更多内容后,我怀疑我遇到了与以下帖子中显示的类似的问题:

    How to mock class method (+)?

    我随后采用了 Christopher Pickslay 在上面的帖子中建议的方法,效果很好。

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 1970-01-01
      • 2015-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-16
      相关资源
      最近更新 更多