Вопрос

Возможно ли иметь фактический объект класса и только издеваться над методом в этом классе, а не издеваться над всем объектом?

Я хочу, чтобы объект вели себя на 100% так же, как и реальный объект, кроме 1 метода.

Бывший:

MyObject *object = [[MyObject alloc] init];
[[[object stub] andReturn:@"some_string"] getMyString];
Это было полезно?

Решение

Да, вот для чего нужны частичные макет.

Частичные макет

id amock = [ocmockobject partialmockforobject: anobject

Создает фиктивный объект, который можно использовать так же, как и anobject. Когда метод, который не загрязнен, вызывается, он будет перенаправлен в Anobject. Когда загрязненный метод вызывается с использованием ссылки на Anobject, а не к макету, он все равно будет обрабатываться макетом.

Обратите внимание, что в настоящее время частичные макет не могут быть созданы для случаев бесплатных мостовых классов, например, NSString.

Видеть http://www.mulle-kybernetik.com/software/ocmock/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top