Как создать экземпляр FormFile в C# без Moq?

Я хочу протестировать функцию, которая прикрепляет файлы к документам в базе данных RavenDB с помощью интеграционного теста. Для этого мне нужен экземпляр IFormFile,

Очевидно, я не могу создать экземпляр интерфейса, поэтому я попытался создать экземпляр FormFile который наследует от IFormFile интерфейс.

using (var stream = File.OpenRead("placeholder.pdf"))
{
    var file = new FormFile(stream, 0, stream.Length, null, Path.GetFileName(stream.Name))
    {
        ContentType = "application.pdf"
    };
}

Но это выдает следующую ошибку:

System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.AspNetCore.Http.Internal.FormFile.set_ContentType(String value)

Когда я удаляю ContentType = "application.pdf" из кода это позволяет мне создать новый экземпляр, но без ContentType,

Как мне создать экземпляр FormFile с ContentType и без Moq фреймворк?

1 ответ

Благодаря Гансу его комментарий, фактический ответ:

using (var stream = File.OpenRead("placeholder.pdf"))
{
    var file = new FormFile(stream, 0, stream.Length, null, Path.GetFileName(stream.Name))
    {
        Headers = new HeaderDictionary(),
        ContentType = "application/pdf"
    };
}
Другие вопросы по тегам