OCMock не может заглушить метод категории

Я пытаюсь работать с макетом NSMutableURLConnection , но OCMock не хочет останавливать методы, объявленные в категории NSMutableURLConnection для NSMutableURLConnection .

 id requestMock = OCMClassMock([NSMutableURLRequest class]); OCMStub([requestMock setHTTPBody]); 

Компилятор не примет вторую строку. Я получаю «ARC Semantic Issue: Нет известного метода экземпляра для селектора setHTTPBody».

Компилятор позволяет мне HTTPBody (в отличие от setHTTPBody ), но он никогда не setHTTPBody .

Кто-нибудь знает, как получить рабочий заглушку и сделать компилятор счастливым в этом случае?

Имя метода установленоHTTPBody: (с двоеточием в конце, что указывает на аргумент). Двоеточие является неотъемлемой частью имени метода. Ошибка компилятора является точной; вам нужно использовать правильное имя метода.

Однако вы используете классный класс mock, который будет иметь пустую реализацию для setHTTPBody: что ничего не сделает (не будет хранить данные), поэтому вызов его не поможет с другим кодом, который использует аксессор. Вы можете попытаться выяснить, какие методы вызываются, создавая нечетный макет, который будет генерировать исключения для любых неожиданных методов и работать с пробной версией и ошибкой, чтобы найти нужные методы. Или, возможно, создайте обычный объект NSMutableURLRequest и создайте частичный макет из этого, только окупив методы, которые вам нужно изменить, но оставив остальную часть поведения в одиночку.

  • OCMock - частичное издевательство
  • в модульном тесте, задайте значение смещения аргументу (по ссылке)
  • Тестирование, если функция executeSegueWithIdentifier вызывается внутри метода контроллеров вида
  • Как издеваться над параметром ** в OCMock в ARC
  • Ожидание и возвращение OCMock дает ошибку подписи
  • OCMock автоматически использует посмеянный экземпляр в тестируемом коде?
  • Столкновение имени метода OCMock
  • OCMock ожидает, что метод, вызванный в рамках другого метода
  • OCMock - проверка порядка вызовов методов. Есть ли другой путь?
  • Как сопоставить параметры структуры с OCMock?
  • не может заглушить метод класса с OCMock 2.1+ в Xcode 5.0
  • Давайте будем гением компьютера.