Может ли 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 *
параметры в это время. Я бы порекомендовал сделать заглушку, свернутую вручную.