对于IPAD应用程序,我有一个带有"Plus“图标作为背景的条形按钮项。当我点击它时,我会显示一个UIPopOverViewController。我想编写一个测试用例来检查单击加号按钮时是否显示了PopOver。
发布于 2016-05-26 07:53:02
如果您的视图中有对popover的引用,则可以对其进行部分模拟,然后验证是否调用了当前方法。它看起来像这样:
MyViewController *vc = [[MyViewController alloc] init];
id popoverMock = OCMPartialMock(vc.popover);
[vc pressPlusButton];
OCMVerify([popoverMock presentPopoverFromRect:OOCMOCK_ANY inView:OCMOCK_ANY permittedArrowDirections:OCMOCK_ANY animated:OCMOCK_ANY]);如果您没有和/或不想引用popover,那么您可能必须创建一个UIPopOverViewController的类模拟,将其initWithContentViewController:存根以返回类模拟,然后您可以验证present是否以类似于上面的方式调用。
MyViewController *vc = [[MyViewController alloc] init];
id popoverMock = OCMClassMock(UIPopOverViewController);
OCMStub([popoverMock initWithContentViewController:OCMOCK_ANY]).andReturn(popoverMock);
[vc pressPlusButton];
OCMVerify([popoverMock presentPopoverFromRect:OOCMOCK_ANY inView:OCMOCK_ANY permittedArrowDirections:OCMOCK_ANY animated:OCMOCK_ANY]);https://stackoverflow.com/questions/34892971
复制相似问题