請參閱下面的代碼:SetupGet與多個回調
mockBusinessLayer.Setup(m => m.Calculate(It.IsAny<integer>(), It.IsAny<integer>())).Callback
(() => mockBusinessLayer.SetupGet(y => y.FirstNumber).Returns(Helper.FirstNumber));
mockBusinessLayer.Setup(m => m.Calculate(It.IsAny<integer>(), It.IsAny<integer>())).Callback
(() => mockBusinessLayer.SetupGet(y => y.SecondNumber).Returns(Helper.SecondNumber));
計算()接受兩個整數並將它們相加。如何在同一個模擬對象上設置多個SetupGets?上面的代碼只設置SecondNumber上的Get回調(因爲這是最後一次調用SetupGet)。
更新
這是我試圖測試功能:
public CalculatorDTO Calculate(int NumberOne, int NumberTwo)
{
_Calculator.Calculate(NumberOne, NumberTwo);
return Mapper.Map<CalculatorDTO>(_changeCalculator);
}
}
是更好地做到這一點:
mockBusinessLayer.Setup(X => x.FirstNumber) .Returns(Helper.FirstNumber); mockBusinessLayer.Setup(x => x.SecondNumber).Returns(Helper.SecondNumber);
這是設計。 Moq只識別成員上的最後一個設置。你試圖測試什麼? – Nkosi
@Nkosi,是否可以設置多個:SetupGet() – w0051977
顯示您要測試的內容,讓我們看看我們是否有幫助解決您的問題。 – Nkosi