Как создать экземпляр 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"
};
}