2

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:

4

1 に答える 1

1

現在、OCMockito はパラメーターをサポートしていませんconst void *。手巻きスタブを作ることをお勧めします。

于 2013-10-22T05:15:02.827 に答える