Я разрабатываю компонент выбора диапазона дат в Angular и испытываю трудности с тестированием, если входные значения неверны.
Мой ngOnInit () выполняет проверку минимальных / максимальных значений даты .
Когда я пытаюсь написать тест для этого случая
Жасмин возвращается:
Ожидаемая функция для выдачи RangeError, но она выдала TypeError: Cannot
читать свойство 'ngZone' из неопределенного.
Исследование С.О. сообщения привели меня к созданию макета класса NgZone и предоставили его в TestBed
, что просто приводит к большему количеству проблем, таких как «подписка не определена».
Я думал, что это может быть связано с EventEmitter, но я пытался удалить это, и я получаю те же ошибки.
Во-первых, как я могу устранить ошибку NgZone? Есть несколько С.О. посты на эту тему, но я, кажется, буду коротким.
Во-вторых, как я могу правильно проверить, что мой ngOnInit()
ведет себя так, как ожидалось, если в него переданы неверные значения?
Обновление
Даже несмотря на то, что я изолировал свою функцию проверки ввода, я все еще не мог проверить, вызвала ли эта функция ошибку. Вместо этого мне пришлось проверить detectChanges()
, которая вызывает все остальное:
expect(() => fixture.detectChanges()).toThrow();