Iphone 如何让OCMock允许我在UIKit类上存根category方法?
我试图在我的应用程序测试中模拟一个UITabBarController。我在另一个文件中定义了该类的category方法,该文件与测试类中的ocmock一起导入。我想说的是:Iphone 如何让OCMock允许我在UIKit类上存根category方法?,iphone,unit-testing,uikit,ocmock,Iphone,Unit Testing,Uikit,Ocmock,我试图在我的应用程序测试中模拟一个UITabBarController。我在另一个文件中定义了该类的category方法,该文件与测试类中的ocmock一起导入。我想说的是: - (void) setUp { id mockTabController = [OCMockObject mockForClass:[UITabBarController class]]; [[[mockTabController stub] andReturn:nil] displayedViewCon
- (void) setUp
{
id mockTabController = [OCMockObject mockForClass:[UITabBarController class]];
[[[mockTabController stub] andReturn:nil] displayedViewController];
// displayedViewController is the category method
}
但是,当我这样做并且测试到达那个存根调用时,我得到一个错误,说:
[NSProxy doesNotRecognizeSelector:displayedViewController] called!
我是否需要做一些特定的事情来允许ocmock识别内置框架类上的category方法?我解决了这个问题;在中定义了类类别的文件不在项目的正确目标中。它位于主要目标中,但不在单元测试目标中。将其添加到正确的位置使其工作顺利。感谢您为自己的解决方案编写文档。它帮助了我:)