[英]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.