Тесты Karma Jasmine всегда терпят неудачу с трассировкой стека в строке 9

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

Я использую AngularJS вместе с Jasmine и Karma. Я обнаружил, что это не зависит от браузера. Ошибка выглядит так:

TypeError: 'undefined' is not an object (evaluating 'new google.maps.LatLng')
    at /Users/user1/project1/test_ctrl.js:9
    at /Users/user1/project1/spec/test_ctrl_spec.js:170

Итак, он говорит мне, что тест не пройден в строке 170 (это правильно), но причина ошибки находится внутри моего test_ctrl.js с совершенно другим номером строки, чем номер 9. И этот номер строки отображается в каждом тесте, который терпит неудачу.

Кто-нибудь знает, как это решить?


person 23tux    schedule 29.05.2014    source источник
comment
Вы перебрасываете (или используете тестовую обвязку) исключение или ловите его впервые в этой строке?   -  person MD-Tech    schedule 29.05.2014
comment
Вот такая ошибка первый раз, повторно не выкидываю. Может быть, Жасмин знает, я не уверен   -  person 23tux    schedule 29.05.2014


Ответы (2)


Похоже, это проблема с использованием karma-coverage, поскольку стамбульский инструмент покрытия кода минимизирует исходный код. В репозитории karma-coverage есть открытая проблема. Если вы временно отключите репортер покрытия в файле конфигурации кармы, он должен работать нормально.

person Andrew    schedule 09.10.2014
comment
это должен быть принятый ответ: это из-за покрытия кармы, а не из-за версии кармы и кармы-джзамина - person Guillaume; 30.10.2014

Вроде с "karma": "~0.12.16" и "karma-jasmine": "~0.1.5" проблема исправлена. Теперь я получаю правильную трассировку стека.

person 23tux    schedule 19.06.2014
comment
С "karma": "^0.12.31" и "karma-jasmine": "^0.2.2" это все равно не работает... - person Alex White; 13.08.2015
comment
У меня есть карма 0.13.22 и карма-жасмин 1.1.0, и эта проблема все еще есть. - person Sam; 26.07.2017