2
我在摸索模擬套接字的接收方法。moq嘲諷緩衝區[]參數
這是我用來讓模擬工作的解決方法。
public class Test_MockSocket : Socket
{
public Test_MockSocket() : base (
(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 30000)).AddressFamily,
(SocketType.Stream),
(ProtocolType.Tcp))
{
}
}
,這是測試的當前版本:
[Test]
public void ShouldReadFromSocket()
{
byte[] thingy = null;
var Mock = new Mock<Test_MockSocket>();
Mock.Setup(foo => foo.Receive(It.IsAny<byte[]>())).Returns(1);
Socket MockSocket = (Socket)Mock.Object;
Assert.AreEqual(1, MockSocket.Receive(thingy));
}
我想嘲笑這個接收過程,但是我不只是想這個簡單的迴應。失敗是「System.NotSupportedException:在非虛擬(VB中可重寫)成員無效的設置:foo => foo.Receive(It.IsAny())」
爲什麼我的設置錯誤,我需要什麼更改爲返回一個文本字符串作爲byte []緩衝區參數。