Метод загрузки файла ядра API веб-приложения xunit - PullRequest
0 голосов
/ 10 июля 2019

это 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);
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...