テストに問題があります。なんらかの理由で、オブジェクトのパブリック プロパティにアクセスできません。
私のクラスは次のとおりです。
public class FakeSMTPConnector : ISMTPConnector
{
private bool _MailSent = false;
public bool MailSent
{
get { return _MailSent; }
set { _MailSent = value; }
}
private MailMessage _Message = null;
public MailMessage Message
{
get { return _Message; }
set { _Message = value; }
}
public FakeSMTPConnector()
{
}
public void SendMail(MailMessage mail)
{
_MailSent = true;
_Message = mail;
}
}
これを使用して SMTPConnection をシミュレートし、電子メール メッセージを送信しています。電子メール メッセージを処理するクラスは、この SMTP コネクタを使用して配信を偽装します。
私のテストは次のとおりです。
[Test]
public void EnviarMensagemContactoSentTest()
{
//arrange
FakeSMTPConnector connector = new FakeSMTPConnector();
EmailManager manager = new EmailManager(connector);
//act
manager.SendMessage("a@a.com", "abc", "def", "ghi");
//assert
Assert.IsNotNull(manager, "Manager instance not created");
Assert.IsTrue(connector.MailSent, "Message not sent");
Assert.IsNotNull(connector.Message);
}
Nunit が Message プロパティにアクセスする最後のアサートを試みると、あまり意味のない例外で失敗します。
System.MissingMethodException : Method not found: 'System.Net.Mail.MailMessage Project.FakeSMTPConnector.get_Message()'.
私は何か間違ったことをしていますか?私はテストの追加とプロジェクトのリフォアリングを開始しているので、これの多くはちょっと新しいものであり、頭の中で本当に基本的なことについて混乱を引き起こしている可能性があります...
ありがとう!