2009-08-18 19 views
2

我有一种情况是这样的:如何为Rhino Mocked对象设置一个值?

form = MockRepository.GenerateMock<IAddAddressForm>(); 
mediator = new AddAddressMediator(form); 

调解员是测试中的真实对象,需要能够对“形式”的对象设定值。

但我可以看到为窗体对象设置的值的唯一方法是这样的:

form.Stub(x=>x.FirstName).Return(item.FirstName) 

我不想做,在我真正的代码。

我错过了嘲笑的地步吗?

回答

1

Stubs已建成支持财产行为。在不使用存根的情况下,可以使用PropertyBehaviour()方法获得类似的效果。

在调解器中,您应该正常使用form对象 - 它不应该知道它已经传递了假对象。

此代码:

form.Stub(x=>x.FirstName).Return(item.FirstName) 

不应该是你的真实目的,但可能是你测试设置你将如何使用您的模拟对象的期望的一部分。

编辑:

从您提供什么,我不能判断你“失踪嘲笑的地步”。主要目的是提供一种方法来测试具有与这些依赖关系隔离的依赖关系的代码。看看Martin Fowler的文章“Mocks Aren't Stubs”和Rhino Mocks documentation的使用指南部分。

+0

甜蜜的答案!非常感谢(我希望我可以投你两次!) – Vaccano 2009-08-19 15:31:42

+0

哈哈欢呼:)很高兴能成为服务... – 2009-08-19 17:39:12

相关问题