インターフェイスに渡されたパラメーターが正しいかどうかをテストしようとしています。
MailMessage expectedMailMessage = new MailMessage();
var mailerMock = new Mock<IMailSender>();
mailerMock.Setup(m => m.Send(expectedMailMessage)).Verifiable();
Mailer mailer = new Mailer(mailerMock.Object);
mailer.Send(expectedMailMessage);
mailerMock.Verify(m => m.Send(expectedMailMessage), Times.Once());
メーラークラス:
public class Mailer : IMailer
{
private readonly IMailSender _mailSender;
public Mailer(IMailSender mailSender)
{
_mailSender = mailSender;
}
public void Send(MailMessage mailMessage)
{
_mailSender.Send(mailMessage);
}
}
しかし、それでもこれは失敗します。問題は、デバッグが非常に難しいことです。ランダムな Guid が生成されているかどうか、または日付が設定されているかどうかを確認しましたが、何も見つかりませんでした。