Выбор ответа Middle Тестирование обновлено

Интеграционные тесты ASP.NET Core

Вопрос

Что даёт WebApplicationFactory<Program>?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Поднимает приложение в памяти и даёт HttpClient к нему. Пакет Microsoft.AspNetCore.Mvc.Testing запускает настоящий конвейер приложения с TestServer, без сети.

Варианты ответа

  1. Генерирует моки для всех контроллеров и сервисов приложения
  2. Запускает приложение в Docker-контейнере на свободном порту
  3. Автоматически заменяет базу данных на InMemory-провайдер
  4. Поднимает приложение в памяти и даёт HttpClient к немуправильный ответ

Разбор

Пакет Microsoft.AspNetCore.Mvc.Testing запускает настоящий конвейер приложения с TestServer, без сети. Через WithWebHostBuilder и ConfigureTestServices подменяют зависимости, например внешний HTTP-клиент. Моки он не генерирует, Docker не запускает, базу сам не меняет: её поднимают отдельно, например через Testcontainers.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме