Модульні тести в Angular
Jasmine, Karma, TestBed, тестування компонентів, тестування сервісів, mocking, spies, асинхронне тестування, fixture
1Яка основна роль TestBed у модульних тестах Angular?
Яка основна роль TestBed у модульних тестах Angular?
Відповідь
TestBed — це основна утиліта для конфігурації та створення тестового модуля Angular. Вона дозволяє налаштовувати providers, imports, declarations та створювати екземпляри компонентів в ізольованому тестовому середовищі. TestBed створює тестовий контекст, який імітує роботу Angular NgModule, забезпечуючи впровадження залежностей та компіляцію компонентів.
2Який метод TestBed слід використовувати для отримання екземпляра сервісу?
Який метод TestBed слід використовувати для отримання екземпляра сервісу?
Відповідь
TestBed.inject() — це рекомендований метод для отримання екземпляра сервісу з ін'єктора тестового модуля. Цей метод замінює старіший синтаксис TestBed.get() (застарілий) і забезпечує кращу типізацію TypeScript. Він звертається до сервісів, наданих у конфігурації TestBed через configureTestingModule.
3Що повертає метод TestBed.createComponent()?
Що повертає метод TestBed.createComponent()?
Відповідь
createComponent() повертає ComponentFixture — обгортку навколо компонента, яка надає доступ до екземпляра компонента (componentInstance), його DOM-елемента (nativeElement), DebugElement та методів тестування, таких як detectChanges(). ComponentFixture є центральним об'єктом для тестування компонента Angular.
Яка роль fixture.detectChanges() у тесті компонента?
Як створити Jasmine spy для мокування методу сервісу?
+19 питань зі співбесід
Інші теми співбесід Angular
Основи TypeScript
TypeScript просунутий
Основи Angular
Компоненти та життєвий цикл
Services & Dependency Injection
Організація модулів Angular
Angular CLI
Директиви та Pipe
Маршрутизація та навігація
Реактивні форми
Template-driven форми
Основи RxJS
Оператори RxJS
HttpClient і виклики API
Базове керування станом
Change Detection
Angular Signals
Standalone Components
End-to-End тестування
Build і оптимізація
Основи NgRx
Просунутий NgRx
Архітектура Angular
Оптимізація продуктивності
Безпека та найкращі практики
Просунуті патерни RxJS
Angular Universal та SSR
Angular Micro-frontends
Опануй Angular для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно