【发布时间】:2019-04-09 23:39:30
【问题描述】:
我正在尝试在异步调用中使用 Moq (4.10),但我无法掌握它的窍门。
搜索如何做到这一点并找到我尝试过但无法使其工作的答案。
这是我的测试
public class Test
{
[Fact]
public void Test_Create()
{
var repositoryMock = new Mock<IRepository>();
repositoryMock
.Setup(repo => repo.CreateAsync(It.IsAny<Aggregate >()))
.Returns(Task.CompletedTask);
/// also tried this
/// => .Returns(Task.FromResult(default(object)))
/// and
/// => .Returns(Task.FromResult(false)));
var useCase = new CreateUseCase(repositoryMock.Object);
Task.Run(async () => { await useCase.HandleAsync(new CreateRequest()); });
repositoryMock.VerifyAll();
}
}
资源
How can I tell Moq to return a Task?
得到这个异常
Moq.MockException: '模拟上的以下设置 'Mock<00000001>00000001>
<>
<>
标签: c# .net unit-testing testing moq