Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过类级字段/变量从MOQ转换为NSSubstitute Mock_C#_Nsubstitute - Fatal编程技术网

C# 通过类级字段/变量从MOQ转换为NSSubstitute Mock

C# 通过类级字段/变量从MOQ转换为NSSubstitute Mock,c#,nsubstitute,C#,Nsubstitute,我不熟悉NSubstitute,30分钟后我找不到如何模拟类级字段/变量 在MOQ中,我会这样做: public class PlanControllerTest { Mock<IDataAccessTemplate> _template = new Mock<IDataAccessTemplate>(); [TestMethod] public void BadDataResponse() { Mock<ISome

我不熟悉NSubstitute,30分钟后我找不到如何模拟类级字段/变量

在MOQ中,我会这样做:

public class PlanControllerTest
{

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

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

    }

}
公共类平面控制器测试
{
Mock _template=新建Mock();
[测试方法]
public void BadDataResponse()
{
Mock other=新Mock();
}
}
但是,重构以替代我使用的:

public class PlanControllerTest
{

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

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

    }

}
公共类平面控制器测试
{
??U模板=替换为();
[测试方法]
public void BadDataResponse()
{
var other=新的替换项For();
}
}
我无法理解的是类级声明。 我已经在这里完成了基本教程:

我通过谷歌找到的最接近的是:


这肯定不是第一次问这个问题了???

请参见代码。For的实现将返回T。因此,应该使用IDataAccessTemplate进行编译。

使用dynamic关键字是一个选项。Visual Studio应该提供返回类型的线索。如果将文档更新为
isomointerface substitute=substitute.For()
会有帮助吗?我对此唯一的保留意见是,
var
似乎是用C#编写的最常见的方式,也许文档应该反映这一点?