2016-01-20 5 views
0

Для IPAD APP У меня есть кнопка с кнопкой «Плюс» в качестве фона. Когда я нажимаю на него, я показываю UIPopOverViewController. Я хочу написать тестовый пример, чтобы проверить, отображается ли PopOver, когда нажата кнопка «плюс».TestCase для UIPOPOverViewController

ответ

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]);