iphone - 我怎样才能让 OCMock 让我在 UIKit 类上 stub 一个类别方法?

标签 iphone unit-testing uikit ocmock

我正在尝试在我的应用程序的测试中模拟 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/

相关文章:

c++ - 单元测试和 boost::asio

iOS 8 : How to implement a rotating view controller on top of a portrait-only app?

ios - 如何查看UILabel当前的字体大小?

iPhone 垂直拨动开关

ios - EAAccessoryManager connectedAccessories 返回空数组

iphone - 以编程方式创建属性 - 核心数据

Angular2 FormBuilder单元测试

ios - swift 的亚马逊广告在 ios 中不起作用

java - 模拟 Socket.getOutputStream() 用于测试 Java

cocoa-touch - iOS - 应用内购买 & applicationDidBecomeActive