Отладчик VSCode не работает в тестах Jest - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь заставить отладчик кода Visual Studio работать с Jest-тестами.

Вот мой launch.json:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Jest All",
      "program": "${workspaceFolder}/node_modules/jest/bin/jest",
      "args": ["--runInBand"],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "sourceMaps": true
    }
  ]
}

Вот мои тесты Jest с парой точек останова:

enter image description here

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

Буду признателен за любую помощь

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018

Лично я использую эту конфигурацию

{
  "name": "Launch e2e test",
  "type": "node",
  "request": "launch",
  "env": {
    "NODE_ENV": "test"
  },
  "args": [
    "--colors",
    "--config=${workspaceFolder}/jest-e2e.config.js",
    "--runInBand",
    "--coverage"
  ],
  "runtimeArgs": [
    "--nolazy"
  ],
  "windows": {
    "program": "${workspaceFolder}/node_modules/jest/bin/jest",
  },
  "outputCapture": "std",
  "internalConsoleOptions": "openOnSessionStart"
}

Измените файл jest-e2e.config.js вашим файлом конфигурации. И удалить или сохранить покрытие

Как сказала Лора Слокум, у вас наверняка будут проблемы с номером строки. В моем случае лично думаю, что проблема заключается в шутливой конфигурации, преобразовании:

  transform: {
    "^.+\\.(t|j)s$": "ts-jest"
  },
0 голосов
/ 08 февраля 2019

У меня была такая же проблема с отключением номеров строк.В исходном файле у меня было почти 30 строк требований, и тестовый файл, загруженный в отладчик, добавил пробел между каждым требованием.Таким образом, файл, загруженный в vscode, был примерно на 60 строк длиннее.

Я обнаружил этот пост, который исправил мою проблему: Отладка Jest-тестов в VS Code: Перемещение точек останова

0 голосов
/ 17 сентября 2018

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

{
  "name": "Jest", // This is the configuration name you will see in debug sidebar
  "type": "node",
  "request": "launch",
  "port": 5858,
  "address": "localhost",
  "stopOnEntry": false,
  "runtimeExecutable": null,
  "env": {
    "NODE_ENV": "development"
  },
  "console": "integratedTerminal",
  "preLaunchTask": "compile",
  "runtimeArgs": [
    "--inspect-brk", // node v8 use debug-brk if older version of node
    "${workspaceRoot}/node_modules/.bin/jest",
    "--watch",
    "--bail",
    "--runInBand"
  ],
  "cwd": "${workspaceRoot}"
},
...