Я пытаюсь смоделировать метод получения сокета.
Вот обходной путь, который я использую, чтобы заставить макет работать.
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 [].