一般的に、このようなものをインターフェイスとして実装する理由は、にテストすることができます。
あなたは簡単にすべてのプロパティを実装する必要があり&方法のためdocumentationを参照してくださいテスト
public class TestFormFile : IFormFile
{
// Implementation here
}
からあなたのコントローラメソッドに渡すIFormFile
を実装してテストクラスを書くことができます。
おそらくコンストラクタでの文字列の内容を取り、
IFormFile
上の3つの方法を実装する際にそれを使用する必要がありますあなたの実装は
- 例えばOpenReadStream
のための1つは、MemoryStream
(注を使用してimplemntedすることができ、あなたが知っている必要がありますあなたのテスト文字列のエンコード!):
public class TestFormFile : IFormFile
{
private string testFileContents;
public TestFormFile(string testFileContent)
{
this.testFileContents = testFileContents;
}
public Stream OpenReadStream()
{
return new MemoryStream(Encoding.UTF8.GetBytes(testFileContents));
}
// Implement Other methods and properties.
}
'FormFile'はデフォルトの.NETクラスライブラリの一部ではないようです。あなたの質問に追加してください:(1) 'FormFile'クラスのドキュメンテーションへのリンクと、(2)あなたが使っているサードパーティライブラリのためのタグ。 – Heinzi
Microsoft.AspNetCore.Http.IFormFile。私の悪いのは、.Net Core – MKasprzyk
私の答えは一般的なものです。私はあなたの "文字列"がどこから来たのかわかりません。 – Jamiec