以下のようなコントローラーを呼び出そうとしています:
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 などの外部フレームワークに依存せずに、UnitTesting/Integration Testing でこのような関数を呼び出す方法はありますか?という元の質問に戻ります。または、既存のコードで何か間違ったことをしていますか?