Исходный код FromFile.cs показывает, что он реализует интерфейс IFromFile . Хотя вы можете легко найти эти файлы из свойства HttpRequest.Form.Files
при работе с HTTP-запросом, вы все равно можете создать собственный объект IFromFile через локальный файл или через массив байтов, который у вас уже есть. Пример, подобный этому, надежда помогает.
UnitTest.cs
[Fact]
public async Task FileUploadToStorage_ReturnTrue_Test()
{
var testFilePath = "path/to/test.jpg";
var testFileBytes = File.ReadAllBytes(testFilePath);
var service = new FakeStorageService();
using (var ms = new MemoryStream(testFileBytes))
{
IFormFile fromFile = new FormFile(ms, 0, ms.Length,
Path.GetFileNameWithoutExtension(testFilePath),
Path.GetFileName(testFilePath)
);
var result = await service.Upload(fromFile);
Assert.True(result);
}
}
FakeStorageService.cs
public class FakeStorageService
{
public async Task<bool> Upload(IFormFile file)
{
using (var fs = file.OpenReadStream())
{
return await GetStorage().UploadAsync(fs);
}
}
}