Не удалось определить источник ошибки типа с помощью ng test

#javascript #angular

#javascript #угловой

Вопрос:

Я работаю ng test в своем 7.2.1 проекте Angular и получаю ошибку типа, которую должно быть довольно просто исправить:

Uncaught TypeError: You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable. thrown

Проблема, с которой я сталкиваюсь, заключается в том, что я не получаю трассировки стека, чтобы точно указать, где возникает ошибка этого типа или в каком файле. Есть ли способ включить трассировку стека, чтобы я мог разобраться в этом? Я запускаю следующую команду: ng test --watch=false --source-map=true

Любая помощь будет с благодарностью!

Комментарии:

1. Было бы полезно также включить версию angular-cli (ng), которую вы используете.

2. Да, извините, 7.2.1.

Ответ №1:

Не сообщает вам, какие модульные тесты завершились неудачей? Я предполагаю, что ошибка возникает в неудачных тестах.

Возможно, у вас есть параметр, karma.conf.js который подавляет эту трассировку стека. Я не уверен, каким может быть этот параметр.

Что-то, что вы можете сделать, это изменить reporters массив, чтобы удалить progress reporter и включить spec reporter.

При этом будут показаны зеленые / красные заголовки тестов, чтобы вы могли видеть, в каком тесте выдается ошибка, и могли точно определить компонент / сервис / и т. Д.

Массив reporters должен выглядеть reporters: ['kjhtml', 'spec'] следующим образом.

Возможно, вам придется установить karma-spec-reporter .

https://www.npmjs.com/package/karma-spec-reporter