C# 在c中模拟抽象类接口#

C# 在c中模拟抽象类接口#,c#,moq,C#,Moq,我的代码中有以下类型层次结构,这遵循RuleEngine设计模式,我的代码如下所示 new RuleChain<myContext>().Use<IsWhiteRule>().Use<IsBlackRule>(); 接口: public interface IRuleContext<T> {} 公共接口IRuleContext {} 混凝土: myDto是我要传递的参数类型 public class concreteContext : IRu

我的代码中有以下类型层次结构,这遵循RuleEngine设计模式,我的代码如下所示

new RuleChain<myContext>().Use<IsWhiteRule>().Use<IsBlackRule>();
接口:

public interface IRuleContext<T>
{}
公共接口IRuleContext
{}
混凝土: myDto是我要传递的参数类型

public class concreteContext : IRuleContext<myDto>
{
    public concreteContext(myDto>){}
}
公共类具体上下文:IRuleContext
{
公共上下文(myDto>){}
}
接口:

public interface IRule<T>
{}
公共接口病毒
{}
实现IRuleChain的具体类型

public class RuleChain<T> : IRuleChain<T>{}

public interface IRuleChain<T> { Use(); Build();}

public abstract class Rule<T> : IRule<T>
{ Use<TRule>{};   Build(); }
公共类规则链:IRuleChain{}
公共接口IRuleChain{Use();Build();}
公共抽象类规则:IRule
{使用{};构建();}
在我的单元测试用例中,我想模拟上面的规则,而不是像下面那样调用

new RuleChain<myContext>().Use<IsWhiteRule>().Use<IsBlackRule>();
newrulechain().Use().Use();
我想模仿上述类型


这是对上述代码库的回复,

您在使用moq方面做了哪些努力?您已经声明了一个目标(“我想要模拟…”)。您还没有说明/表明您在实现该目标方面遇到了什么问题。我们假设您至少能够查找和阅读文档、教程或入门指南,那么您在这里需要什么帮助呢?嗨,丹尼尔,这就是我试图传递给规则var myMoc=new Mock()的内容;myMoc.Setup(m=>m.Run()).Returns(myreturnObj);现在,当我试图调用上的规则时,我希望返回一些对象。Run()是我在这里试图模仿的东西。嗨,丹尼尔,我尝试使用NSubstitute,下面是代码
IRule rc=Substitute.For();当(x=>x.Run(context).Returns(context))所以基本上,当调用Run()时,它应该返回相同的对象。我正在用dummydata模拟实际的实现。如果我传递了错误的泛型类型,请纠正我。