无法将 List> 转换为 List
本文关键字:List HttpPostedFileBase 转换 Web Mock Moq System | 更新日期: 2023-09-27 18:35:11
我有一个单元测试,我正在模拟HttpPostedFileBase文件并将它们放在列表中。然后,单元测试像这样调用邮件服务(不相关的参数,如to,from,subject被省略)
[Test]
public void SendMailWithFile()
{
bool result = Services.Mail.MailService.SendMailWithFile(uploadedFiles);
上传文件变量是这样的: List<Mock<HttpPostedFileBase>> uploadedFiles
mailService(单元测试调用的)是这样的:
public static bool SendMailWithFile(List<HttpPostedFileBase> uploadedFiles)
现在一切都应该没问题,模拟列表确实包含文件(意味着它不为空),但我收到此错误。
无法从 转换
System.Collections.Generic.List<Moq.Mock<System.Web.HttpPostedFileBase>
自
System.Collections.Generic.List<System.Web.HttpPostedFileBase>
您必须使用 Object
属性从Mock<T>
对象中获取模拟对象(在您的情况下HttpPostedFileBase
)。
这应该这样做:
bool result = Services.Mail.MailService.SendMailWithFile(
uploadedFiles.Select(x => x.Object).ToList());
本文关键字:List HttpPostedFileBase 转换 Web Mock Moq System | 更新日期: 2023-09-27 18:35:11
我有一个单元测试,我正在模拟HttpPostedFileBase文件并将它们放在列表中。然后,单元测试像这样调用邮件服务(不相关的参数,如to,from,subject被省略)
[Test]
public void SendMailWithFile()
{
bool result = Services.Mail.MailService.SendMailWithFile(uploadedFiles);
上传文件变量是这样的: List<Mock<HttpPostedFileBase>> uploadedFiles
mailService(单元测试调用的)是这样的:
public static bool SendMailWithFile(List<HttpPostedFileBase> uploadedFiles)
现在一切都应该没问题,模拟列表确实包含文件(意味着它不为空),但我收到此错误。
无法从 转换
System.Collections.Generic.List<Moq.Mock<System.Web.HttpPostedFileBase>
自
System.Collections.Generic.List<System.Web.HttpPostedFileBase>
您必须使用 Object
属性从Mock<T>
对象中获取模拟对象(在您的情况下HttpPostedFileBase
)。
这应该这样做:
bool result = Services.Mail.MailService.SendMailWithFile(
uploadedFiles.Select(x => x.Object).ToList());