我正在尝试调用如下所示的控制器:
Task<IActionResult> Create(List<IFormFile> RunFiles)
现在,我只是想弄清楚将它传递给列表的最简单方法是什么IFormFiles
var formData = new MultipartFormDataContent();
var fileContent = new ByteArrayContent(File.ReadAllBytes("\\run1\\IHW01018Exp049HLAMicro_S13_L001_R1_001.fastq.gz"));
fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "Fastq.fastq"
};
formData.Add(fileContent, "FastQ");
var response = await client.PostAsync($"run", formData);
我认为这至少会被认为是有效的IFormfile
,但这里发生的基本上是,它正在调用该方法而不会引发任何错误。但是,RunFiles
参数有 0 个成员。所以基本上是一个空列表IFormFile
。
我环顾网络并发现了这篇文章:
如何在 ASP.NET Core 1 MVC 6 中模拟 IFormFile 以进行单元/集成测试?
这基本上建议使用 Moq。好吧,猜猜看,我们的框架中没有 Moq。但是,它让我回到了我最初的问题,即有没有办法在不依赖 MOQ 等外部框架的情况下为单元测试/集成测试调用这样的函数?还是我在现有代码中做错了什么?