4
我想測試一些代碼:設置模擬返回我發送給它的同一個對象?
public ViewModel FillClientCreateViewModel(ViewModel model){
model.Phone = new Phone { Name = "Test"};
model.Phone = _entityInitializer.FillViewModel(model.Phone);
}
我也想安裝FillViewModel我給予它返回相同的對象。
我的測試:
entityInitMock.Setup(x => x.FillViewModel(It.IsAny<PhoneViewModel>())).Returns(It.IsAny<PhoneViewModel>());
var result = TestedInstance.FillClientCreateViewModel(CreateViewModel);
result.Phone.Name.ShouldBe("Test");
但在這種情況下,我的測試下跌 - 因爲result.Phone.Name被我嘲笑清洗。
我該如何設置模擬只給我同樣的對象,我給它。
你如何使ReturnsAsync工作?我得到「無法將lambda表達式轉換爲___類型,因爲它不是委託類型」。 – johni 2017-04-22 14:53:31
@johni請參閱http://stackoverflow.com/questions/31527394/moq-returnsasync-with-parameters和http://stackoverflow.com/questions/21253523/setup-async-task-callback-in-moq-framework – TrueWill 2017-04-24 13:40:44