Интеграционный тест работает для FromBody, но не для FromForm ⇐ C#
-
Anonymous
Интеграционный тест работает для FromBody, но не для FromForm
.Net 6. Написание интеграционных тестов для приложения C# API с использованием WebApplicationFactory
Можно протестировать метод POST с помощью FromBody следующим образом:
var DTO = //заполняем Dto вар полезная нагрузка = JsonConvert.SerializeObject(DTO); var content = new StringContent(payload, Encoding.UTF8, "application/json"); var response1 = await _client.PostAsync("/api/Main/Function1", content); Это работает и выполняет приведенную ниже функцию с DTO, заполненным правильными полями:
[HttpPost("Function1")] общедоступная асинхронная задача Function1 (значения DTO [FromBody]) { Однако, когда я пытаюсь изменить FromBody на FromForm, значения DTO равны NULL
var DTO = //заполняем Dto вар полезная нагрузка = JsonConvert.SerializeObject(DTO); var content = new StringContent(payload, Encoding.UTF8, "application/x-www-url-formencoded"); var response1 = await _client.PostAsync("/api/Main/Function1", content); [HttpPost("Функция1")] общедоступная асинхронная задача Function1 (значения DTO [FromForm]) Что я делаю не так?
.Net 6. Написание интеграционных тестов для приложения C# API с использованием WebApplicationFactory
Можно протестировать метод POST с помощью FromBody следующим образом:
var DTO = //заполняем Dto вар полезная нагрузка = JsonConvert.SerializeObject(DTO); var content = new StringContent(payload, Encoding.UTF8, "application/json"); var response1 = await _client.PostAsync("/api/Main/Function1", content); Это работает и выполняет приведенную ниже функцию с DTO, заполненным правильными полями:
[HttpPost("Function1")] общедоступная асинхронная задача Function1 (значения DTO [FromBody]) { Однако, когда я пытаюсь изменить FromBody на FromForm, значения DTO равны NULL
var DTO = //заполняем Dto вар полезная нагрузка = JsonConvert.SerializeObject(DTO); var content = new StringContent(payload, Encoding.UTF8, "application/x-www-url-formencoded"); var response1 = await _client.PostAsync("/api/Main/Function1", content); [HttpPost("Функция1")] общедоступная асинхронная задача Function1 (значения DTO [FromForm]) Что я делаю не так?
Мобильная версия