gpt4 book ai didi

c# - NUnit 测试中属性的 MissingMethodException

转载 作者:行者123 更新时间:2023-11-30 12:49:43 25 4
gpt4 key购买 nike

我在测试中遇到了问题。出于某种我还没有弄清楚的原因,我无法访问 n 对象的公共(public)属性。

我的类(class)如下:

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()'.

我做错了什么吗?我开始添加测试并对项目进行一些重构,所以很多都是新的,可能是我在脑海中对一些真正基本的东西感到困惑......

谢谢!

最佳答案

我知道这是旧的,但我遇到了同样的问题。清洁溶液然后进行重建对我不起作用。

从 GAC (C:\Windows\assembly) 中删除有问题的 dll 为我修复了它。

关于c# - NUnit 测试中属性的 MissingMethodException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10914396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com