Как я могу получить OCMock, чтобы позволить мне заглушить метод категории в классе UIKit? - PullRequest
6 голосов
/ 14 июля 2009

Я пытаюсь смоделировать UITabBarController в тестах моего приложения. У меня есть метод категории для этого класса, определенный в другом месте в другом файле, который импортируется вместе с ocmock в моем тестовом классе. что я пытаюсь так это:

- (void) setUp
{
    id mockTabController = [OCMockObject mockForClass:[UITabBarController class]];
    [[[mockTabController stub] andReturn:nil] displayedViewController]; 
    // displayedViewController is the category method
}

но когда я это делаю и тест переходит на этот вызов заглушки, я получаю сообщение об ошибке:

[NSProxy doesNotRecognizeSelector:displayedViewController] called!

Есть ли что-то конкретное, что мне нужно сделать, чтобы позволить ocmock распознавать методы категорий во встроенных классах платформы?

1 Ответ

16 голосов
/ 21 июля 2009

Я разобрался с проблемой; файл, для которого была определена категория класса, не соответствует нужной цели в моем проекте. Это было в главной цели, но не цели модульного тестирования. добавив его в нужное место, он работал плавно.

...