Spec-Zone.ru › Angular

Утилиты тестирования Zone.js

В этом руководстве описаны утилиты тестирования, предназначенные главным образом для управления асинхронными задачами в модульных тестах. По сути, это специальные утилиты Zone.js для имитации часов, особенно полезные для управления потоком асинхронных операций в тестах.

Общие утилиты тестирования Angular, включая TestBed и ComponentFixture, описаны в руководстве API утилит тестирования.

Краткий обзор функций, специфичных для Zone.js:

Функция Описание
waitForAsync Отслеживает асинхронные задачи и завершает тесты, только когда в тестовой зоне больше не остаётся микрозадач или макрозадач.
fakeAsync Выполняет тело теста (it) в специальной тестовой зоне fakeAsync, позволяя писать код с линейным потоком выполнения.
tick Имитирует ход времени и завершение ожидающих асинхронных операций, обрабатывая очереди таймеров и микрозадач в тестовой зоне fakeAsync. Любознательным читателям, готовым к подробному изложению, может понравиться эта длинная запись в блоге: «Задачи, микрозадачи, очереди и расписания». Принимает необязательный аргумент, который переводит виртуальные часы вперёд на указанное количество миллисекунд, очищая асинхронные операции, запланированные на этот промежуток времени.
discardPeriodicTasks Отменяет все периодические задачи (например, setInterval), созданные в зоне fakeAsync.
flushMicrotasks Если тест fakeAsync() завершается с ожидающими микрозадачами, например неразрешёнными промисами, тест завершается с понятным сообщением об ошибке.
Как правило, тест должен дожидаться завершения микрозадач. Если ожидающие микрозадачи являются ожидаемым поведением, вызовите flushMicrotasks, чтобы обработать очередь микрозадач и избежать ошибки.

Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/guide/testing/zone-js-testing-utilities

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API