0
我是一個使用NUnit的新手& Moq,我正在嘗試創建一個複雜的模擬對象以用於我的unitTest項目。我有的主要問題是我嘲笑的對象沒有在其屬性中定義的集合。因爲我不能編譯下面的代碼。創建沒有setter的模擬對象
m_objectMock.Object.Id = "myMockId";
是否有另一種方法來實現這種分配而無需將setter添加到我想要測試的類?
我是一個使用NUnit的新手& Moq,我正在嘗試創建一個複雜的模擬對象以用於我的unitTest項目。我有的主要問題是我嘲笑的對象沒有在其屬性中定義的集合。因爲我不能編譯下面的代碼。創建沒有setter的模擬對象
m_objectMock.Object.Id = "myMockId";
是否有另一種方法來實現這種分配而無需將setter添加到我想要測試的類?
隨着MOQ,使用.Setup
方法:
m_objectMock.Setup(m => m.Id).Returns("myMockId");
這意味着當所述消耗代碼要求的Id
值模擬對象將返回myMockId
模擬。
請參閱Quickstart上的屬性部分。
謝謝你,這對我完美的工作。 – acostela
你必須嘲笑吸氣劑才能返回你想要的值。 – HimBromBeere
因此,在Moq中,我們永遠不會分配任何值? – acostela
當然,如果你可以。但就你的情況而言,這並不總是可能的,也不是必需的,因爲你不想測試這個類來模擬它,而是假裝它。 – HimBromBeere