2016-02-03 62 views
0

我是一個使用NUnit的新手& Moq,我正在嘗試創建一個複雜的模擬對象以用於我的unitTest項目。我有的主要問題是我嘲笑的對象沒有在其屬性中定義的集合。因爲我不能編譯下面的代碼。創建沒有setter的模擬對象

m_objectMock.Object.Id = "myMockId"; 

是否有另一種方法來實現這種分配而無需將setter添加到我想要測試的類?

+0

你必須嘲笑吸氣劑才能返回你想要的值。 – HimBromBeere

+0

因此,在Moq中,我們永遠不會分配任何值? – acostela

+0

當然,如果你可以。但就你的情況而言,這並不總是可能的,也不是必需的,因爲你不想測試這個類來模擬它,而是假裝它。 – HimBromBeere

回答

1

隨着MOQ,使用.Setup方法:

m_objectMock.Setup(m => m.Id).Returns("myMockId"); 

這意味着當所述消耗代碼要求的Id值模擬對象將返回myMockId模擬。

請參閱Quickstart上的屬性部分。

+0

謝謝你,這對我完美的工作。 – acostela