我正在尝试在异步的模拟对象上设置方法。
由于该对象对我的实际测试并不重要,因此我只希望该方法返回一个整数,这是其返回类型。
我的代码如下:
_legacyUnitOfWorkMock.Setup(x => x.CommitAsync()).Returns(Task.FromResult<int>(1));
但是,我收到以下错误消息:
System.NotSupportedException:在非虚拟环境上的无效设置
(在VB中可重写)成员:x => x.CommitAsync()
谁能指出为什么此代码会失败?
最佳答案
你有没有尝试过:
_legacyUnitOfWorkMock.Setup(x => x.CommitAsync()).ReturnsAsync(1);
要么
_legacyUnitOfWorkMock.Setup(x => x.CommitAsync()).Returns(Task.FromResult(1));