public async Task<bool> Handle(ConfirmPlayerCommand request, CancellationToken cancellationToken)
{
var player = await _context.Players.FirstAsync(a => a.Id == request.PlayerId, cancellationToken);
player.ConfirmPlayer();
await _context.SaveChangesAsync(cancellationToken);
return true;
}
z 我的 CommandHandler 中有这段代码。我知道如何验证是否使用 Moq 调用 _context.SaveChangesAsync。 问题是,我不知道如何确保调用 player.ConfirmPlayer(); 。
应该调用 Player.ConfirmPlayer() 来确认玩家。 palyer 对象没有被注入,所以它也没有被模拟。 我期望一种编写测试来检查 Player.ConfirmPlayer() 被调用的方法。
调用
player.ConfirmPLayer();
一定会产生副作用。要么玩家对象发生变化,以便您可以检查它,要么它调用其他您可以检查/验证的东西。
我们对您如何设置测试或固定装置一无所知,因此如果您的错误与此相关,我们无法真正帮助您。