1
我有控制器,它支持uploadnig文件。它內部是一種驗證文件中數據的方法。如何將字符串保存爲FormFile格式的文件
IEnumerable<ValidationResult> Validate(ICollection<IFormFile> files)
它完美地工作。現在我需要爲這個控制器寫測試。而我的問題是:如何將文件格式的光盤傳送到我的功能FormFile
格式?
我有控制器,它支持uploadnig文件。它內部是一種驗證文件中數據的方法。如何將字符串保存爲FormFile格式的文件
IEnumerable<ValidationResult> Validate(ICollection<IFormFile> files)
它完美地工作。現在我需要爲這個控制器寫測試。而我的問題是:如何將文件格式的光盤傳送到我的功能FormFile
格式?
一般來說,實現類似這樣的接口的原因是幫助您可以測試它。
你可以隨便寫一個實現IFormFile
傳遞給你的控制器方法從測試
public class TestFormFile : IFormFile
{
// Implementation here
}
見documentation所有屬性&方法,你必須實現一個測試類。
你的實現應該大概需要在構造函數中的字符串內容,並實現對IFormFile
3種方法的時候使用它 - 例如一個用於OpenReadStream
可利用的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核心 – MKasprzyk
我的答案是一個普遍的 - 我不知道你的「字符串」來自哪裏,以及它如何與這個問題。 – Jamiec