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

时间:2018-11-26 10:43:17

标签: c# unit-testing nunit moq

我是Moq的新手,因此无法正常工作。

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

 private Mock _serviceMock;

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

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

  

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

我想我在这里缺少参考文献或明显的内容,但是有一次Google失败了我!

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

1 个答案:

答案 0 :(得分:3)

基础Mock对通用类型一无所知。

改为使用Mock<IMyInterface>

private Mock<IMyInterface> _serviceMock;

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

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