Хобрук: Ваш путь к мастерству в программировании

нет трассировки стека для ошибок jasmine-node

Я использую node.js и модуль npm jasmine-node для запуска тестов. Это работает отлично, за исключением случаев, когда код выдает ошибку. У меня нет трассировки стека. Например, один из моих тестов выводит только это:

Error: TypeError: Cannot read property 'length' of undefined

Нет трассировки стека. Это делает поиск этих ошибок настолько трудоемким, что я ищу альтернативы jasmine-node.

Как я могу заставить jasmine-node выводить полную трассировку стека с ошибкой? Флаг командной строки --verbose этого не делает.


  • Вероятно, было бы полезно, если бы вы могли опубликовать пример фрагмента тестового кода, который ломается, вместе с копией реализации. 10.01.2012
  • Проблема в том, что кода так много, что я не знаю, какой фрагмент опубликовать, потому что нет трассировки стека. 13.01.2012
  • Если ваш код выполнен в стиле TDD, должно быть достаточное количество тестов для любой значительной части кода. Учитывая это, вы можете комментировать тест за раз, пока не удалите проблемный код/тест. 13.01.2012

Ответы:


1

Вы можете использовать опцию --captureExceptions jasmine-node для вывода трассировки стека глобальных исключений.

13.01.2014
  • Я обнаружил, что это не работает. Обычно я использую Tape, и Jasmine по сравнению с ней — беспорядок. Даже встроенные утверждения Node в целом работают лучше. 23.03.2015
  • этот мне поможет. Спасибо! :) 19.07.2015

  • 2

    Хотя я не использовал npm jasmine-node, я сталкивался с такой ошибкой раньше. По моему опыту, о таких ошибках сообщается, когда асинхронный цикл, выходящий за рамки вашего теста/импл, терпит неудачу...

    Что мы сделали, чтобы поймать все исключения такого рода, так это добавили этот код перед выполнением

    process.on('uncaughtException',function(e) {
        sys.log("Caught unhandled exception: " + e);
        sys.log(" ---> : " + e.stack);
    });
    
    10.01.2012
    Новые материалы

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..

    React Hooks: основы деструктуризации массива
    Kent C. Dodds написал классный пост о том, как грядущая функция React под названием Hooks работает на капоте. Предстоящий хук React useState основан на деструктурировании массива, давайте..

    Пакеты R, используемые в Tesla
    Добро пожаловать обратно! R — очень популярный язык программирования, используемый множеством компаний, включая Tesla! Итак, давайте взглянем на некоторые пакеты R, которые использует Tesla...

    Сокращение и слияние токенов для эффективных моделей VL: обзор
    Часто в задачах, связанных с компьютерным зрением и НЛП, вычислительно затратная и требующая большого объема памяти обработка становится препятствием для более быстрого логического вывода модели, а..