
Інтеграційні тести
WebApplicationFactory, TestServer, тестування бази даних, тестування HTTP-клієнта, test fixtures
1Що таке WebApplicationFactory в ASP.NET Core?
Що таке WebApplicationFactory в ASP.NET Core?
Відповідь
WebApplicationFactory — це клас, що надається пакетом Microsoft.AspNetCore.Mvc.Testing, який дозволяє створювати тестовий сервер у пам'яті для інтеграційного тестування. Він ініціалізує застосунок ASP.NET Core з усіма його залежностями без потреби в реальному розгортанні, роблячи тести швидкими та ізольованими. Цей підхід рекомендований, оскільки він тестує застосунок у середовищі, близькому до продакшену, уникаючи витрат на налаштування реального сервера.
2Яка основна перевага використання WebApplicationFactory замість реального HTTP-сервера в інтеграційних тестах?
Яка основна перевага використання WebApplicationFactory замість реального HTTP-сервера в інтеграційних тестах?
Відповідь
WebApplicationFactory створює тестовий сервер у пам'яті, що усуває мережеву затримку та витрати на розгортання, водночас надаючи повний контроль над конфігурацією. Тести виконуються значно швидше, оскільки немає реального мережевого обміну чи окремого процесу для керування. Крім того, сервіси можна замінити через ConfigureTestServices, що полегшує ізоляцію тестів і симуляцію різних сценаріїв без зовнішньої інфраструктури.
3Яка різниця між модульним тестом та інтеграційним тестом в ASP.NET Core?
Яка різниця між модульним тестом та інтеграційним тестом в ASP.NET Core?
Відповідь
Модульні тести ізолюють і тестують одну одиницю коду (метод, клас), мокаючи всі залежності, тоді як інтеграційні тести перевіряють, що кілька компонентів коректно працюють разом, включно з базою даних, middleware та реальними сервісами. Модульні тести швидші та простіші, але не виявляють проблем інтеграції, тоді як інтеграційні тести повільніші, але перевіряють загальну поведінку застосунку. Збалансована стратегія поєднує обидва підходи.
Який пакет NuGet необхідний для використання WebApplicationFactory в інтеграційних тестах?
Як створити HTTP-клієнт для тестування API за допомогою WebApplicationFactory?
+15 питань зі співбесід
Інші теми співбесід .NET
Основи C#
LINQ & Delegates
Основи мови C#
Основи ASP.NET Core
Життєвий цикл запиту в ASP.NET Core
Configuration & Settings
Життєвий цикл застосунку
Dependency Injection
Entity Framework Core
Minimal APIs
Розробка Web API
Async в ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Серіалізація JSON
Entity Framework Core просунутий
Розширені можливості C#
Clean Architecture
Logging, Monitoring & Observability
Модульне тестування та xUnit
Docker & Containerization
Керування пакетами NuGet
Memory Management & GC
Реактивне програмування
Async/await і патерни
.NET Design Patterns
Оптимізація продуктивності
Безпека та Best Practices
SignalR і реальний час
Архітектура мікросервісів
Опануй .NET для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно