我正在尝试在应用程序的测试中模拟UITabBarController。我在另一个文件的其他地方定义的该类的类别方法,与我的测试类中的ocmock一起导入。我正在尝试的是这样的:

- (void) setUp
{
    id mockTabController = [OCMockObject mockForClass:[UITabBarController class]];
    [[[mockTabController stub] andReturn:nil] displayedViewController];
    // displayedViewController is the category method
}

但是当我这样做并且测试到达该 stub 调用时,我收到一条错误消息:
[NSProxy doesNotRecognizeSelector:displayedViewController] called!

我需要做些特定的事情来允许ocmock识别内置框架类中的类别方法吗?

最佳答案

我解决了这个问题;在其中定义了类类别的文件不在我的项目中正确的目标中。它在主要目标中,但不在单元测试目标中。将其添加到正确的位置可以使其顺畅地工作。

关于iphone - 我如何获得OCMock让我在UIKit类上 stub 类别方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1122555/

10-11 14:25