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