.NET

Інтеграційні тести

WebApplicationFactory, TestServer, тестування бази даних, тестування HTTP-клієнта, test fixtures

18 питань зі співбесід·
Mid-Level
1

Що таке WebApplicationFactory в ASP.NET Core?

Відповідь

WebApplicationFactory — це клас, що надається пакетом Microsoft.AspNetCore.Mvc.Testing, який дозволяє створювати тестовий сервер у пам'яті для інтеграційного тестування. Він ініціалізує застосунок ASP.NET Core з усіма його залежностями без потреби в реальному розгортанні, роблячи тести швидкими та ізольованими. Цей підхід рекомендований, оскільки він тестує застосунок у середовищі, близькому до продакшену, уникаючи витрат на налаштування реального сервера.

2

Яка основна перевага використання WebApplicationFactory замість реального HTTP-сервера в інтеграційних тестах?

Відповідь

WebApplicationFactory створює тестовий сервер у пам'яті, що усуває мережеву затримку та витрати на розгортання, водночас надаючи повний контроль над конфігурацією. Тести виконуються значно швидше, оскільки немає реального мережевого обміну чи окремого процесу для керування. Крім того, сервіси можна замінити через ConfigureTestServices, що полегшує ізоляцію тестів і симуляцію різних сценаріїв без зовнішньої інфраструктури.

3

Яка різниця між модульним тестом та інтеграційним тестом в ASP.NET Core?

Відповідь

Модульні тести ізолюють і тестують одну одиницю коду (метод, клас), мокаючи всі залежності, тоді як інтеграційні тести перевіряють, що кілька компонентів коректно працюють разом, включно з базою даних, middleware та реальними сервісами. Модульні тести швидші та простіші, але не виявляють проблем інтеграції, тоді як інтеграційні тести повільніші, але перевіряють загальну поведінку застосунку. Збалансована стратегія поєднує обидва підходи.

4

Який пакет NuGet необхідний для використання WebApplicationFactory в інтеграційних тестах?

5

Як створити HTTP-клієнт для тестування API за допомогою WebApplicationFactory?

+15 питань зі співбесід

Інші теми співбесід .NET

Основи C#

Junior
25 запитань

LINQ & Delegates

Junior
20 запитань

Основи мови C#

Junior
15 запитань

Основи ASP.NET Core

Junior
18 запитань

Життєвий цикл запиту в ASP.NET Core

Junior
20 запитань

Configuration & Settings

Junior
20 запитань

Життєвий цикл застосунку

Junior
20 запитань

Dependency Injection

Mid-Level
24 запитань

Entity Framework Core

Mid-Level
25 запитань

Minimal APIs

Mid-Level
18 запитань

Розробка Web API

Mid-Level
22 запитань

Async в ASP.NET Core

Mid-Level
20 запитань

Authentication & Authorization

Mid-Level
18 запитань

HttpClient & Networking

Mid-Level
20 запитань

Серіалізація JSON

Mid-Level
20 запитань

Entity Framework Core просунутий

Mid-Level
25 запитань

Розширені можливості C#

Mid-Level
20 запитань

Clean Architecture

Mid-Level
20 запитань

Logging, Monitoring & Observability

Mid-Level
22 запитань

Модульне тестування та xUnit

Mid-Level
20 запитань

Docker & Containerization

Mid-Level
16 запитань

Керування пакетами NuGet

Mid-Level
16 запитань

Memory Management & GC

Senior
22 запитань

Реактивне програмування

Senior
24 запитань

Async/await і патерни

Senior
26 запитань

.NET Design Patterns

Senior
24 запитань

Оптимізація продуктивності

Senior
22 запитань

Безпека та Best Practices

Senior
24 запитань

SignalR і реальний час

Senior
22 запитань

Архітектура мікросервісів

Senior
25 запитань

Опануй .NET для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно