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

由于该对象对我的实际测试并不重要,因此我只希望该方法返回一个整数,这是其返回类型。

我的代码如下:

_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));

09-11 11:27