Может ли OCMockito заглушить метод, который принимает параметр `const void *`?

Мой MessageSerializer В классе есть метод, подпись которого выглядит следующим образом:

- (Message *)deserialize:(const void *)buffer length:(NSUInteger)length;

Могу ли я использовать OCMockito, чтобы заглушить это? куда serializer мой фиктивный сериализатор, компилятор одобряет все эти следующие формы в моем тестовом методе:

[given([serializer deserialize:[data bytes] length:[data length]]) willReturn:message];
[given([serializer deserialize:(__bridge const void *)anything() length:[data length]]) willReturn:message];
[given([serializer deserialize: CFBridgingRetain(anything()) length:[data length]]) willReturn:message];

... но ни один из них не заставляет макет возвращать "сообщение" тестируемому классу, когда deserialize:length: называется.

1 ответ

Решение

OCMockito не поддерживает const void * параметры в это время. Я бы порекомендовал сделать заглушку, свернутую вручную.

Другие вопросы по тегам