Mock 不包含 Setup 的定义

And*_*rew 3 c# nunit unit-testing moq

我是 Moq 的新手,在让它工作时遇到了问题。

到目前为止,我的代码如下:

 private Mock _serviceMock;

 [SetUp]
 public void Setup()
 {
     _serviceMock = new Mock<IMyInterface>();
 }
Run Code Online (Sandbox Code Playgroud)

我的界面中有两种方法,但是当我使用时_serviceMock.Setup出现错误

“模拟不包含安装程序的定义”。

我想我在这里遗漏了一个参考或一些明显的东西,但谷歌让我失望了一次!

我在我的项目中引用了 Moq 和 Nunit.Framework,并且使用的是 Moq 版本 4.10.0 和 NUnit 3.11.0,所有版本都通过 Nuget 安装。

Nko*_*osi 7

基础Mock不会知道关于泛型类型的任何信息。

使用Mock<IMyInterface>来代替。

private Mock<IMyInterface> _serviceMock;

[SetUp]
public void Setup() {
    _serviceMock = new Mock<IMyInterface>();
}
Run Code Online (Sandbox Code Playgroud)

参考Moq Quickstart以更好地了解如何使用该框架