Skip to main content
 首页 » 编程设计

C# Mock介绍

2022年07月19日147mfrbuaa

在园子里搜索了一下,发现讲Mock的文章很少,没有入门级的,我不得不看java版的mock内容,等我看懂了,再向大家介绍,先在这纪录一下

这篇英文文章介绍了,Rhino Mocks,Moq,TypeMock等Mock构架的执行速度的比较,还附代了测试工程

http://blog.eleutian.com/2008/05/08/MockFrameworkBenchmarks.aspx

《EasyMock使用方法与原理剖析》看了此文应该对Mock有个入门的了解了

http://www.ibm.com/developerworks/cn/opensource/os-cn-easymock/index.html

NMock简介,

http://www.cnblogs.com/netcobra/archive/2004/11/24/68199.html

NMock在vs2005中的单元测试

http://www.cnblogs.com/netflu/archive/2007/01/18/623896.html

一篇关于NMock和Rhino Mock的Pros和Cons的对比,写得非常不错,不过是英文的

http://www.chrisbrandsma.com/2007/09/nmock-as-compared-to-rhinomocks.html

最后我选择了使用Rhino Mock,我开始比较担心我难以掌握它变化的api,后来再做了demo之后,发现很简单,原因是它前后衔接的非常好,感谢微软提供了Obsolte属性,使我可以毫无困扰了从旧版本的api迁移过来,因为网上的文档,肯定不是和新版本同步的。

Moq比较简洁,不过它的思路和普通的Record/Replay/Verify的mock framework不太一样。详细的可以参看moq和rhino mock作者的讨论http://ayende.com/Blog/archive/2007/12/19/9963.aspx

待我深入后,再把做的demo工程发上来与大家分享

2008.9.6更新,

这两天又温习了一下mock,我不停的问自己,到底我们为什么用mock,我想到的答案是,它可以使程序面向接口编程,做一部分就可以测试一部分,可以将依赖外部的对象模拟出来供测试使用.它的原来就是使用emit或是反射之类的动态的构造出一个对象 .

今天还不小心郁闷了一下,今天打开IDE,发现TestDriven.net的Test With是灰的,要使用run test先运行一遍才会变成可用,真是noting impossible


本文参考链接:https://www.cnblogs.com/lexus/archive/2008/08/17/1269895.html