从MOQ转换为NSubstitute,模拟类级字段/变量

时间:2016-06-09 18:24:23

标签: c# nsubstitute

我是NSubstitute的新手,30分钟我找不到如何模拟班级字段/变量。

在MOQ我会这样做:

public class PlanControllerTest
{

    Mock<IDataAccessTemplate> _template = new Mock<IDataAccessTemplate>();

    [TestMethod]
    public void BadDataResponse()
    {
       Mock<ISomethingElse> other = new Mock<ISomethingElse>();

    }

}

然而,重构为NSubstitute我使用:

public class PlanControllerTest
{

    ???? _template = Substitute.For<IDataAccessTemplate>();

    [TestMethod]
    public void BadDataResponse()
    {
       var other = new Substitute.For<ISomethingElse>();

    }

}

这是我无法弄清楚的类级别声明。 我在这里学习了基础教程:

http://nsubstitute.github.io/help/creating-a-substitute/

我通过Google找到的最接近的是:

How to set value to a local variable of a class using NSubstitute in TestProject?

当然这不是第一次被问到这个问题吗?

1 个答案:

答案 0 :(得分:1)

请参阅NSubstitute代码。 For&lt; T&gt; 的实施将返回 T 。所以使用IDataAccessTemplate应该编译。