Использование кастомного HttpClient в RestAssured.Net |
30.07.2024 00:00 |
Автор: Баз Дейкстра (Bas Dijkstra) Недавно я имел честь быть гостем шоу Test Automation Experience с Николаем Адволодкиным. В этом выпуске мы говорили про RestAssured.Net, в ходе него я выпустил версию 4.1.0, и мы обсуждали функции, добавленные в библиотеку в ходе последних релизов. Выпуск можно найти на Youtube. В этой короткой статье я хочу подсветить наиболее важную новую функцию RestAssured.Net версии 4.1.0 – это возможность встроить кастомный System.Net.Http.HttpClient в ваши тесты. Для чего это нужно? По умолчанию RestAssured.Net создает свой собственный HttpClient для отправки созданных запросов, используя гибкий синтаксис библиотеки: [Test] В большинстве ситуаций этот созданный RestAssured.Net по умолчанию HttpClient отлично способен запустить нужные вам тесты. В некоторых случаях, однако, вы:
В этих ситуациях было бы полезно вручную добавить HttpClient и внедрить его в ваши тесты RestAssured.Net. Именно это и можно теперь сделать: [Test] Пример содержит тест для минимального API ASP.NET Core, содержащегося в классе Program. Чтобы создать эффективные тесты, в которых библиотека Microsoft.AspNetCore.Mvc.Testing будет заниматься управлением настройками и запуском и остановкой API в памяти, вам нужен HttpClient, возвращаемый методами CreateDefaultClient() или CreateClient(). Как можно видеть, теперь RestAssured.NET поддерживает это, передавая HttpClient как аргумент в метод Given(). Если HttpClient предоставлен, RestAssured.Net будет пользоваться им; если это не так, он сгенерирует свой собственный и воспользуется им для отправки запросов и получения ответов. Я очень рад, что эта возможность наконец доступна в RestAssured.Net – я уверен, что это повышает гибкость библиотеки и разнообразит возможные варианты использования. |