Для IPAD APP У меня есть кнопка с кнопкой «Плюс» в качестве фона. Когда я нажимаю на него, я показываю UIPopOverViewController. Я хочу написать тестовый пример, чтобы проверить, отображается ли PopOver, когда нажата кнопка «плюс».TestCase для UIPOPOverViewController
0
A
ответ
0
Если у вас есть ссылка на 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]);
Если у вас нет и/или не хотят ссылки на пирог, вам, возможно, придется сделать класс издеваться над UIPopOverViewController
, незавершенными его initWithContentViewController:
к вернуть класс mock, а затем вы можете проверить, что настоящее вызвано так же, как описано выше.
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]);