Как я могу перестать блокироваться инструкциями отладчика в шутку?

#node.js #visual-studio-code #jestjs #istanbul

#node.js #visual-studio-code #jestjs #istanbul

Вопрос:

Я только начинаю использовать Jest в своем проекте nodejs. У меня есть несколько тестов, и все они проходят, но последний тест, который я только что закодировал, проходит, но блокируется в двух местах шуткой с таким кодом:

 /* istanbul ignore next */
cov_19rdmie87d().s[43]  ;
debugger;

/* istanbul ignore next */
cov_19rdmie87d().s[53]  ;
this debugger;
  

Я должен нажать f5, чтобы продолжить дважды во время выполнения моих тестов. Как я могу удалить эти инструкции отладки?

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

1. Просто удалите debugger строки и любые точки останова в ваших источниках inspect.

2. @Shujath Спасибо за это, это сработало. Я был сбит с толку, поскольку проблема была обнаружена на странице, доступной только для чтения, показанной Jest, на которой было много сгенерированного Jest кода. Но на самом деле у меня есть некоторые инструкции отладчика в файле, импортированном в тестируемый файл, которые не попали в путь выполнения, поэтому я никогда не думал о них.

Ответ №1:

Решение: удалите debugger инструкции из вашего кода и любые точки останова из ваших источников inspect.

Еще немного Вики по отладке в JS

  • Отладчик: если вы поместите строку debugger; в свой код, Chrome автоматически остановится там при выполнении. Вы даже можете обернуть его в условные выражения, чтобы он запускался только тогда, когда вам это нужно.

  • Введите debug(item.myFunc) в консоли, и скрипт остановится в режиме отладки, когда получит вызов функции item.myFunc

  • Когда вам нужно отладить JavaScript, Chrome позволяет приостанавливать работу при изменении элемента DOM. Вы даже можете отслеживать его атрибуты. В Chrome Inspector щелкните правой кнопкой мыши на элементе и выберите перерыв в настройке для использования.

Для получения дополнительной информации ознакомьтесь с этой статьей raygun об отладке в javascript.