Отладка Jest тестов для проекта Lerna в VS Code - PullRequest
0 голосов
/ 02 марта 2020

Я хочу отладить указанные c Jest-тесты в VS-коде для проекта, который использует Lerna, поэтому существует несколько папок, каждая из которых имеет собственную папку node_modules. С помощью этого ответа я получил следующий запуск. json:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Jest watch",
      "program": "${workspaceRoot}/my/specific/module/node_modules/jest/bin/jest.js",
      "args": ["--verbose", "-i", "--no-cache", "--watchAll"],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "cwd": "${workspaceFolder}/my/specific/module"
    }
  ]
}

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

Есть ли лучший способ сделать это? Может быть, использовать папку, выбранную в проводнике? Может быть, есть какой-нибудь способ запуска отладки, щелкнув правой кнопкой мыши тестовый файл?

Ответы [ 2 ]

1 голос
/ 02 марта 2020

Большое спасибо dla c за идею, теперь у меня есть рабочая конфигурация запуска:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Jest watch",
      "program": "${workspaceFolder}/node_modules/.bin/jest",
      "args": ["--verbose", "-i", "--no-cache", "--watchAll"],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "windows": {
        "program": "${workspaceFolder}/node_modules/jest/bin/jest"
      },
      "cwd": "${fileDirname}"
    }
  ]
}
1 голос
/ 02 марта 2020

Lerna позволяет вам иметь npm пакетов в root node_modules, которые подняты к вашим пакетам. Тем не менее, если в вашем файле root package.json есть зависимость jest, вы сможете запускать тесты в каждом пакете.

У меня настроен launch.json, как показано ниже. Первый конфиг запускает все тесты, а второй запускает тест, который в данный момент открыт в VS Code.

  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Jest All",
      "program": "${workspaceFolder}/node_modules/.bin/jest",
      "args": [
        "--runInBand", "--watchAll"
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "disableOptimisticBPs": true,
      "windows": {
        "program": "${workspaceFolder}/node_modules/jest/bin/jest",
      }
    },
    {
      "type": "node",
      "request": "launch",
      "name": "Jest Current File",
      "program": "${workspaceFolder}/node_modules/.bin/jest",
      "args": [
        "${relativeFile}","--watchAll"
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "disableOptimisticBPs": true,
      "windows": {
        "program": "${workspaceFolder}/node_modules/jest/bin/jest",
      }
    }
  ]
...