0

呼び出し後に変更される参照引数 (byte[]) を使用したメソッド呼び出しのモックに問題があります。

private Mock<ISocket> mSocket;    
byte[] buffer = new byte[1000];
mSocket.Expects.One.Method(x => x.Receive(null))
.With(buffer).WillReturn(2);

しかし、呼び出しの後、バッファ データを変更する必要があります。

buffer[0] = 10;
buffer[1] = 20;

本番コードを変更せずにこの動作をモックするにはどうすればよいですか?

4

1 に答える 1

0

.WillReturn() にチェーンされたメソッド .Will を使用して、カスタム アクションを呼び出すことができます。

たとえば、 .Will(UpdateBuffer()) を呼び出すことができます

UpdateBuffer メソッドは、必要な値をバッファーに設定できます。UpdateBuffer は、IAction インターフェイスを実装するクラスのメソッドです。

この nmock ページのアクション セクションを見てください。すべて説明されているので、繰り返す必要はありません。

于 2015-02-18T15:27:36.623 に答える