Цель C - OCMock и заглушка? - PullRequest
2 голосов
/ 03 мая 2011

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

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

Ex:

MyObject *object = [[MyObject alloc] init];
[[[object stub] andReturn:@"some_string"] getMyString];

Ответы [ 2 ]

4 голосов
/ 03 мая 2011

Да, для этого и используются частичные mock.

Частичные mock

id aMock = [OCMockObjectpartalMockForObject: anObject]

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

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

См. http://www.mulle -kybernetik.com / software / OCMock /

0 голосов
/ 24 августа 2015
...