如何测试一个writeonly属性

时间:2010-01-25 10:13:33

标签: rhino-mocks

在我的应用程序中,使用MVP模式,presenter在view上设置了一些属性。例如,Iview有字符​​串Customer {set;}。现在,我想测试这个属性设置了一些值“x”。如何我可以用犀牛嘲笑进行测试吗?

1 个答案:

答案 0 :(得分:4)

不要定义只写属性。正如.NET design guidelines所说:

  

不提供仅限设置的属性。

     

如果无法提供属性getter,请使用方法来实现该功能。方法名称应以Set开头,后跟属性名称。例如,AppDomain有一个名为SetCachePath的方法,而不是一个名为CachePath的只设置属性。

在大多数情况下,定义读/写属性要容易得多,并且可以轻松地将自己的类型单元化。你不需要Rhino Mocks,因为你可以直接从属性中读取值。

但是,如果您更喜欢设计指南中描述的变异方法,则必须使其virtual能够使用Rhino Mocks来验证它是否被正确调用。虽然这当然是可能的,但设置起来会更复杂,所以如果有令人信服的理由我会采取这种方式。