
Наскрізне тестування (End-to-End)
Supertest, тестова база даних, fixtures, автентифікація в тестах, тестування API
1Що таке E2E-тест (end-to-end) у контексті NestJS?
Що таке E2E-тест (end-to-end) у контексті NestJS?
Відповідь
E2E-тест перевіряє повний потік застосунку, від HTTP-запиту до відповіді, проходячи через усі шари (controller, service, database). На відміну від модульних тестів, які ізолюють компонент, E2E-тести перевіряють, що інтеграція всіх компонентів працює коректно. Це дозволяє виявляти інтеграційні баги, які модульні тести не здатні вловити.
2Яку бібліотеку NestJS рекомендує для E2E-тестування?
Яку бібліотеку NestJS рекомендує для E2E-тестування?
Відповідь
Supertest — рекомендована бібліотека для E2E-тестування в NestJS, оскільки вона дозволяє тестувати HTTP-ендпоінти без запуску сервера на мережевому порті. Вона створює ізольований екземпляр застосунку та надсилає змодельовані HTTP-запити безпосередньо. Це робить тести швидшими, надійнішими та уникає конфліктів портів між паралельними тестами.
3Як отримати екземпляр HTTP-сервера для Supertest у тесті NestJS?
Як отримати екземпляр HTTP-сервера для Supertest у тесті NestJS?
Відповідь
Метод app.getHttpServer() повертає екземпляр базового HTTP-сервера (Express або Fastify), який можна передати в Supertest для виконання тестових запитів. Цей метод доступний після створення тестового модуля за допомогою Test.createTestingModule(). Він дозволяє Supertest безпосередньо звертатися до сервера, не запускаючи його на мережевому порті.
У якому файлі зазвичай розміщують E2E-тести в проєкті NestJS?
Який метод Supertest дозволяє перевірити status code HTTP-відповіді?
+17 питань зі співбесід
Інші теми співбесід Node.js / NestJS
Основи Node.js
Основні API Node.js
Асинхронне програмування
Основи Express.js
Основи NestJS
Проєктування REST API
Валідація та DTO
Документація API та контракти
Обробка помилок
Юніт-тестування
Планування завдань
Модулі та DI у NestJS
Конфігурація та керування середовищами
Автентифікація JWT
Авторизація та RBAC
База даних з TypeORM
Prisma ORM
Middleware та Interceptors
Завантаження файлів
WebSockets
GraphQL з NestJS
Кешування з Redis
Черги з Bull
DevOps, Logging та CI/CD
Docker та контейнеризація
Мікросервіси
Найкращі практики безпеки
Продуктивність і хмарне розгортання
Опануй Node.js / NestJS для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно