Moq - 异步方法的设置。错误

时间:2016-01-12 11:17:34

标签: c# unit-testing nunit moq

我正在尝试在异步的Mocked对象上设置方法。

由于对象对我的实际测试并不重要,我只想让方法返回一个整数,这是它的返回类型。

我的代码如下: -

_legacyUnitOfWorkMock.Setup(x => x.CommitAsync()).Returns(Task.FromResult<int>(1));

但是,我收到以下错误消息: -

  

System.NotSupportedException:非虚拟设置无效   (在VB中可覆盖)成员:x =&gt; x.CommitAsync()

有人能指出为什么这段代码会失败吗?

1 个答案:

答案 0 :(得分:3)

你试过了吗?

_legacyUnitOfWorkMock.Setup(x => x.CommitAsync()).ReturnsAsync(1);

或者

_legacyUnitOfWorkMock.Setup(x => x.CommitAsync()).Returns(Task.FromResult(1));