0
我的實體setter都是私有的,所以我使用構造函數來初始化我的實體。嘲諷受保護的setter
現在我需要編寫單元測試,我需要實例化多個對象。 「問題」是我不想創建構造函數只是爲了用一些隨機數據實例化我的實體。相反,我想利用C#簡單的方法來做到這一點:
var user = new User() { Name = "John", LastName = "Smith" };
一種選擇我認爲是使制定者內部,並設置InternalsVisibleTo
。但我不希望其他實體設置這些屬性。
不過我不認爲我可以用Moq
來做到這一點。有沒有其他方法可以解決這個問題?
對於第二個選項,只需創建一個從User派生出來的TestUser,然後在那裏添加調用受保護的setter的公共setter。 – zaitsman