[英]Mocking a method that has optional parameter
我有一个方法public void SendMail(string email, string subject, string body, List<Attachment> attachements = null)
,其中最后一个参数可以为null
或List<Attachment>
。
我这样嘲笑:
var mailMock = new Mock<IMailService>();
mailMock.Setup(m => m.SendMail(It.IsNotNull<string>(), It.IsNotNull<string>(), It.IsNotNull<string>(), It.IsAny<List<Attachment>>())).Verifiable();
mailMock.Verify();
但是它不允许在附件参数中使用null
值。 如何允许同时传递null
和List<Attachment>
?
更新:实际上,它正在工作,只是我调用了mailMock.Verify();
在实际调用测试方法之前为时尚早。
编辑:不是一个好的答案,没有回答问题,并且一般来说是错误的。
您不需要“ = null”部分。 每个可空对象(包括List)都可以为空。 因此,这样的方法将始终允许使用null值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.