Objective-C - издеваться над сегментированным элементом управления с помощью OCMock? - PullRequest
1 голос
/ 09 ноября 2011

Я пытаюсь смоделировать сегментированный элемент управления и получаю сбои, есть предложения?

NSInteger selectedSegment = 2;
id segmentedControlMock = [OCMockObject niceMockForClass:[UISegmentedControl class]];
[[[segmentedControlMock stub] andReturn:OCMOCK_VALUE(selectedSegment)] selectedSegmentIndex];

Я получаю сбой, как только я вызываю selectedSegmentIndex для моего фиктивного объекта:

Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «Ожидаемый вызов с типом возвращаемого объекта».

1 Ответ

2 голосов
/ 09 ноября 2011

Вам нужно использовать andReturnValue:

NSInteger selectedSegment = 2;
id segmentedControlMock = [OCMockObject niceMockForClass:[UISegmentedControl class]];
[[[segmentedControlMock stub] andReturnValue:OCMOCK_VALUE(selectedSegment)] selectedSegmentIndex];
...