это web api core 2.1 и метод fileupload. я использую
Request.Form.Files.FirstOrDefault ();
способ получения файла клиентской формы.
Теперь я хочу написать тестовый метод с фреймворком xunit.
Как я могу сделать, я хочу загрузить метод проверки формы файла и получить в веб-контроллер API. я пробовал, код ниже. я не могу получить файл в веб-API.
public class DocumentControllerTest
{
[Fact]
public void TestMethod1()
{
DocumentController documentController = new DocumentController();
documentController.ControllerContext = RequestWithFile();
var result = documentController.Upload();
}
private ControllerContext RequestWithFile()
{
var httpContext = new DefaultHttpContext();
httpContext.Request.Headers.Add("Content-Type", "multipart/form
data");
var file = new FormFile(new
MemoryStream(Encoding.UTF8.GetBytes("This is a dummy file")), 0, 0,
"Data", "dummy.txt");
httpContext.Request.Form = new FormCollection(new
Dictionary<string, StringValues>(), new FormFileCollection { file
});
var actx = new ActionContext(httpContext, new RouteData(), new
ControllerActionDescriptor());
return new ControllerContext(actx);
}
}