摘要:
前面出于演示目的,使用的都是一个个小的示例代码。这里模拟一下使用Moq真实场景。 假设要写个蜘蛛,我们有个接口叫IHttpClient负责连接到指定网站,PageEntity用于存储抓取页面信息。SpiderEngine则负责通过IHttpClient将目标页面上XPath指定的内容存到PageEntity中。 现在要测试SpiderEngine,单元测试嘛,既然我们选择测试SpiderEngin... 阅读全文
随笔分类 - TDD
What is “Mock You”系列之(四):自定义Mock对象行为 & MockFactory
2010-02-21 17:16 by 姜 萌@cnblogs, 1391 阅读, 收藏, 编辑
摘要:
何谓Mock对象行为? 由于模拟出的对象终究是用来“糊弄人”的。我们在UnitTest中不一定会将一个对象的所有方法都Mock掉。而且如果一个Mock对象中有还有用接口/抽象类表示的对象,那么我们不一定就要将它们一起Mock掉。Moq为我们提供了自定义配置这些细节规则的办法。 MockBehavior Moq有个枚举类型MockBehavior,有三个值Strict,Loo... 阅读全文
What is “Mock You”系列之(三):Raise,callback,verify
2010-02-21 17:15 by 姜 萌@cnblogs, 1041 阅读, 收藏, 编辑
摘要:
Raise 如果你说会用Setup,那么Raise就更简单了。这里注意下它是无返回值类型。 mockView.Raise(v => v.SelectionChanged += null, new OrderEventArgs { Order = new Order("moq", 500) }); Callback Callback嘛,顾名思义就是回调。使用Callback可以使我们在某个使用... 阅读全文
What is “Mock You”系列之(二) 参数匹配-It & Match<T>
2010-02-21 17:14 by 姜 萌@cnblogs, 963 阅读, 收藏, 编辑
摘要:
上一篇介绍了Moq并给出了一个入门的例子。下面说说Moq中的参数匹配。先看Mock<T>的一个方法。 public ISetup<T> Setup(Expression<Action<T>> expression); 熟悉.NET框架尤其是开发过基于MVVM的WPF应用程序的朋友对Action<T>和Prediect<T>这两... 阅读全文
What is “Mock You”系列之(一) 初识Mock 和 Moq
2010-02-21 17:13 by 姜 萌@cnblogs, 1825 阅读, 收藏, 编辑
摘要:
Moq即Mock You Framework,故名思意是一个类似Mockery,JMock的Mock框架。 是google上的一个.net开源项目 项目扉页 相关下载 http://code.google.com/p/moq/ http://code.google.com/p/moq/downloads/list 先说说一般的使用Mock进行测试的基本过程: Moq的3.x版本已经不同以往,这得... 阅读全文