2
通常情况下,我嘲笑我的回购像这样:单元测试时,我如何模仿从异步方法返回null?
var repository = new Mock<ISRepository>();
repository.Setup(r => r.GetMemberAsync(email))
.Returns(Task.FromResult(new Member
{
FirstName = firstName,
LastName = lastName
}));
但是,在我的代码,我检查,看看是否未找到成员,即GetMemberAsync返回null。我该如何嘲笑这个?
我想:
var repository = new Mock<ISRepository>();
repository.Setup(r => r.GetMemberAsync(email))
.Returns(Task.FromResult<object>(null));
但我得到一个编译错误。
哇哦,如果它是一条蛇它会咬我。谢谢。 – ScubaSteve
或者你可以强制'null'键入你想要的 - 'Task.FromResult((Member)null)'(在'FromResult'情况下不完全有用,但在类型更复杂时可能会很方便)。 –