Жасмин - «Не удается прочитать свойство« подписаться »на неопределенный брошенный» - PullRequest
0 голосов
/ 26 февраля 2019

Я только начал писать модульные тесты для существующего приложения Angular, используя Jasmine, и примерно в 50% случаев я получаю следующую ошибку:

Chrome 72.0.3626 (Mac OS X 10.14.3) ОШИБКА {"message": "Ошибка после afterAll \ nUncaught TypeError: Невозможно прочитать свойство 'подписка' для неопределенного броска", "str": "Ошибка возникла после afterAll \ nUncaught TypeError: Невозможно прочитать свойство 'подписка'of undefined бросили "} Chrome 72.0.3626 (Mac OS X 10.14.3): выполнено 131 из 148 (1 СБОЙ) ОШИБКА (51,175 с / 50,533 с)

enter image description here

В остальные 50% случаев все тесты проходят без проблем.

Основная проблема, возникающая у меня с этим сообщением об ошибке, заключается в том, что Жасмин не сообщает мне, где проблемав то время как если я напишу в любом из моих тестов, например, expect(true).toBe(false), то Жасмин скажет мне, где и когда expect(true).toBe(false) не удалось.

Как я могу найти, откуда исходит эта ошибка?Кто-нибудь испытывал какие-либо противоречия в Жасмин?

Спасибо за помощь!

1 Ответ

0 голосов
/ 26 февраля 2019

Наконец-то решена проблема после многих часов копания.

Сообщения об ошибках в консоли стали более понятными после того, как в качестве случайного флага было установлено значение false в karma.conf.js.

module.exports = function(config) {
  config.set({
    client: {
      jasmine: {
        random: false
      }
    }
  })
}

В нашем случае один из наших тестов не прошел из-за неправильной обработки асинхронного вызова в одном из компонентов.Удаление этого теста устранило проблему несоответствия.

Несмотря на то, что сообщение в консоли все еще не могло точно определить источник ошибки, оно, по крайней мере, могло показать набор компонентов / тестов, из которого произошла ошибка..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...