我正在尝试在异步的Mocked对象上设置方法。
由于对象对我的实际测试并不重要,我只想让方法返回一个整数,这是它的返回类型。
我的代码如下: -
_legacyUnitOfWorkMock.Setup(x => x.CommitAsync()).Returns(Task.FromResult<int>(1));
但是,我收到以下错误消息: -
System.NotSupportedException:非虚拟设置无效 (在VB中可覆盖)成员:x =&gt; x.CommitAsync()
有人能指出为什么这段代码会失败吗?
答案 0 :(得分:3)
你试过了吗?
_legacyUnitOfWorkMock.Setup(x => x.CommitAsync()).ReturnsAsync(1);
或者
_legacyUnitOfWorkMock.Setup(x => x.CommitAsync()).Returns(Task.FromResult(1));