RhinoMock入门(1)——Mock仓库,期望(转载)
2013-08-08 10:33 mch.zhang 阅读(315) 评论(0) 收藏 举报这里介绍RhinoMock中的常用的类。
(一)MockRepository
RhinoMock的主要的类,是Mock仓库,用于创建mock对象,录制,重放,验证等。
(1)创建Mock
MockRepository mock = new MockRepository();
(2)创建mock对象
Mock的目的就是创建mock对象,然后期望,录制重放等。创建mock对象有很多方法,以前的版本中通过:
MockRepository fac = new MockRepository(); var customer = fac.CreateMock<ICustomer>();
来进行,CreateMock方法已经过时,工厂方法来进行:
MockRepository fac = new MockRepository(); var customer = fac.StrictMock<ICustomer>();
也可以通过静态工厂方法来创建:
var customer = MockRepository.GenerateMock<ICustomer>();
(3)录制
所有的mock框架都使用Record/Replay模式,但有些是显示的,有些是隐式的,而RhinoMock就是显示的。
·Record/Replay传统的录制与重放:
·Record,Using方式
·通过静态工厂方法创建mock对象:
publicvoid TestRR()
{
var customer = MockRepository.GenerateMock<ICustomer>();
customer.Expect(p => p.ShowTitle("")).Return("");
Assert.AreEqual("", customer.ShowTitle(""));
}
{
var customer = MockRepository.GenerateMock<ICustomer>();
customer.Expect(p => p.ShowTitle("")).Return("");
Assert.AreEqual("", customer.ShowTitle(""));
}
(4)验证
用于验证mock对象的期望是否成立。
·Verify,用于验证mock对象的所有期望是否满足
·VerifyAll,用于验证所有mock对象的所有期望是否满足
(二)Expect类
为有返回值的类的方法设置期望
Call:为方法或属性提供期望
·Call<T>(T ignored)
·Call(Action actionToExecute)
例:
看lambda表达式方式
再来看Using方式
浙公网安备 33010602011771号