当前位置:  开发笔记 > 编程语言 > 正文

什么是Moq?

如何解决《什么是Moq?》经验,为你挑选了2个好方法。

我一直看到DotNetKicks上提到的这个......然而却无法确切地知道它是什么(英文)或它的作用?你能解释它是什么,或者为什么我会用它?



1> tvanfosson..:

Moq是C#/ .NET的模拟框架.它用于单元测试,以将被测试的类与其依赖关系隔离开来,并确保调用依赖对象上的正确方法.有关模拟的更多信息,您可能需要查看维基百科关于模拟对象的文章.

其他模拟框架(用于.NET)包括JustMock,TypeMock, RhinoMocks,nMock,.etc.


MOQ也是用于交易业务的术语="最小订单数量":如果您购买一百万个单位,订购数量为5000件的成本为100美元的产品可能低至20美元.这与我所知道的计算机科学无关!:)

2> Rajesh Mishr..:

简单的英语,Moq是一个库,当你在项目中包含时,你可以轻松地进行单元测试.为什么?因为一个函数可能会调用另一个函数,然后是另一个函 但实际上需要的是,只需从第一次调用返回到下一行的返回值.Moq有助于忽略该方法的实际调用,而是返回该函数返回的内容.并且在所有代码行执行后验证,你想要的是你得到了什么.英语太多了,所以这里有一个例子:

String Somethod()
{
  IHelper help = new IHelper();
  String first = help.firstcall();
  String second= secondcall(first);
  return second;
}

现在,这里first需要secondcall(),但你实际上不能help.firstcall()在其他层中调用它.所以Mocking已经完成,假装该方法被称为:

[TestMethod]
public void SomeMethod_TestSecond
{
  mockedIHelper.Setup(x=>x.firstcall()).Returns("Whatever i want");  
}

在这里,想想,SetUP作为伪造方法调用,我们只是感兴趣Returns.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有