2010-01-25 82 views
5

在我的應用程序中,使用MVP模式,演示者設置了一些屬性view.For例如,Iview的字符串Customer {set;}現在,我想測試該屬性設置了一些值「x」。我可以如何用犀牛模擬器進行測試?如何測試writeonly屬性

回答

4

不要定義只寫屬性。正如.NET design guidelines所說:

不提供set-only屬性。

如果無法提供屬性獲取器,請改用方法來實現該功能。方法名稱應以Set開頭,後面跟着屬性名稱。例如,AppDomain具有一個名爲SetCachePath的方法,而不是具有名爲CachePath的純集屬性。

在大多數情況下,定義讀/寫屬性要容易得多,並且它使單元測試擁有的類型變得輕而易舉。你不需要Rhino Mocks,因爲你可以直接從屬性讀取值。

但是,如果您需要設計指南中所述的變異方法,則必須使其virtual能夠使用Rhino Mocks來驗證它是否被正確調用。雖然這當然是可行的,但設置起來會更復雜,所以如果有令人信服的理由,我只會採取這種方式。

+0

感謝您的幫助。 – 2010-01-25 10:33:05