Макет не содержит определения для установки - PullRequest
0 голосов
/ 26 ноября 2018

Я новичок в Moq и у меня проблема с тем, чтобы заставить его работать.

Пока мой код выглядит следующим образом:

 private Mock _serviceMock;

 [SetUp]
 public void Setup()
 {
     _serviceMock = new Mock<IMyInterface>();
 }

У меня есть два метода в моем интерфейсе, но когда я перехожу к использованию _serviceMock.Setup, я получаю ошибку

«В Mock нет определения для программы установки».

Полагаю, мне здесь не хватает ссылки или чего-то очевидного, но на этот раз Google подвел меня!

У меня есть ссылки на Moq и Nunit.Framework в моем проекте, и я использую Moq версии 4.10.0 и NUnit 3.11.0, все они установлены через Nuget.

1 Ответ

0 голосов
/ 26 ноября 2018

База Mock не будет ничего знать о родовом типе.

Используйте взамен Mock<IMyInterface>.

private Mock<IMyInterface> _serviceMock;

[SetUp]
public void Setup() {
    _serviceMock = new Mock<IMyInterface>();
}

Ссылка Быстрый запуск Moq , чтобы получитьлучшее понимание того, как использовать фреймворк

...