Node.js / NestJS

Наскрізне тестування (End-to-End)

Supertest, тестова база даних, fixtures, автентифікація в тестах, тестування API

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

Що таке E2E-тест (end-to-end) у контексті NestJS?

Відповідь

E2E-тест перевіряє повний потік застосунку, від HTTP-запиту до відповіді, проходячи через усі шари (controller, service, database). На відміну від модульних тестів, які ізолюють компонент, E2E-тести перевіряють, що інтеграція всіх компонентів працює коректно. Це дозволяє виявляти інтеграційні баги, які модульні тести не здатні вловити.

2

Яку бібліотеку NestJS рекомендує для E2E-тестування?

Відповідь

Supertest — рекомендована бібліотека для E2E-тестування в NestJS, оскільки вона дозволяє тестувати HTTP-ендпоінти без запуску сервера на мережевому порті. Вона створює ізольований екземпляр застосунку та надсилає змодельовані HTTP-запити безпосередньо. Це робить тести швидшими, надійнішими та уникає конфліктів портів між паралельними тестами.

3

Як отримати екземпляр HTTP-сервера для Supertest у тесті NestJS?

Відповідь

Метод app.getHttpServer() повертає екземпляр базового HTTP-сервера (Express або Fastify), який можна передати в Supertest для виконання тестових запитів. Цей метод доступний після створення тестового модуля за допомогою Test.createTestingModule(). Він дозволяє Supertest безпосередньо звертатися до сервера, не запускаючи його на мережевому порті.

4

У якому файлі зазвичай розміщують E2E-тести в проєкті NestJS?

5

Який метод Supertest дозволяє перевірити status code HTTP-відповіді?

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

Інші теми співбесід Node.js / NestJS

Основи Node.js

Junior
20 запитань

Основні API Node.js

Junior
25 запитань

Асинхронне програмування

Junior
25 запитань

Основи Express.js

Junior
20 запитань

Основи NestJS

Junior
23 запитань

Проєктування REST API

Junior
20 запитань

Валідація та DTO

Junior
20 запитань

Документація API та контракти

Junior
20 запитань

Обробка помилок

Junior
20 запитань

Юніт-тестування

Junior
20 запитань

Планування завдань

Junior
15 запитань

Модулі та DI у NestJS

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

Конфігурація та керування середовищами

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

Автентифікація JWT

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

Авторизація та RBAC

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

База даних з TypeORM

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

Prisma ORM

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

Middleware та Interceptors

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

Завантаження файлів

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

WebSockets

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

GraphQL з NestJS

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

Кешування з Redis

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

Черги з Bull

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

DevOps, Logging та CI/CD

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

Docker та контейнеризація

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

Мікросервіси

Senior
30 запитань

Найкращі практики безпеки

Senior
25 запитань

Продуктивність і хмарне розгортання

Senior
30 запитань

Опануй Node.js / NestJS для наступної співбесіди

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

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