Путаница Moq - Setup ( ) v Setup <> ()

У меня есть макет, который создается следующим образом:

var mock = new Mock<IPacket>(MockBehavior.Strict);
mock.Setup(p => p.GetBytes()).Returns(new byte[] { }).Verifiable();

Intellisense для метода установки говорит следующее:

«Определяет настройку фиктивного типа для вызова void метод возврата. "

Но фиктивный метод p.GetBytes () не возвращает void, он возвращает массив байтов.

В качестве альтернативы другой метод Setup определяется как Setup <>, и я могу создать свой макет следующим образом:

var mock = new Mock<IPacket>(MockBehavior.Strict);
mock.Setup<byte[]>(p => p.GetBytes()).Returns(new byte[] { }).Verifiable();

Интеллектуальный смысл этого метода установки гласит:

«Определяет настройку фиктивного типа для вызова значения метод возврата. "

.
.
Какой бы метод я ни выбрал, он компилируется и тестирует нормально. Итак, я не понимаю, как мне это делать. В чем разница между .Setup () и .Setup <> (), и правильно ли я делаю?

Документация для Moq, скажем так, отсутствует. :)

6
задан Andy 20 July 2011 в 19:35
поделиться