У меня макет создается следующим образом:
var mock = new Mock<IPacket>(MockBehavior.Strict);
mock.Setup(p => p.GetBytes()).Returns(new byte[] { }).Verifiable();
Интеллектуальный смысл для метода установки говорит следующее:
"Определяет настройку по типу макетадля вызова void возвращающего метода. "
Но смоделированный метод p.GetBytes () не возвращает void, он возвращает байтовый массив.
В качестве альтернативы другой метод установки определен как «Настройка <>, и я могу создать свой макет следующим образом:
var mock = new Mock<IPacket>(MockBehavior.Strict);
mock.Setup<byte[]>(p => p.GetBytes()).Returns(new byte[] { }).Verifiable();
Интеллектуальный смысл этого метода установки говорит:
"Указывает настройку для ложного типа для вызова метода возврата значение ."
.
.
В зависимости от того, чтометод, который я выбираю, он компилирует и тестирует ОК.Итак, я не понимаю, каким образом я должен делать это.В чем разница между .Setup () и .Setup <> (), и я делаю это правильно?
Документы для Moq несколько не хватает, скажем так.:)