У меня есть набор тестов Jest, который я хотел бы отладить с помощью интерактивного отладчика VS Code. Это отлично работает для обычных программ NodeJS ("program": "foo.js" в launch.json). Но набор тестов (foo.test.js) не является автономной программой, его нужно запускать из Jest.
Есть ли способ добиться этого?
Конкретный код здесь: https://gitlab.com/stevage/guess-projection





Этот документ в репозитории Microsoft vscode-получатели GitHub описывает, как настроить VS Code для отладки стандартных тестов Jest.
Launch.json выглядит так:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Jest All",
"program": "${workspaceFolder}/node_modules/.bin/jest",
"args": ["--runInBand"],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"windows": {
"program": "${workspaceFolder}/node_modules/jest/bin/jest",
}
},
{
"type": "node",
"request": "launch",
"name": "Jest Current File",
"program": "${workspaceFolder}/node_modules/.bin/jest",
"args": ["${relativeFile}"],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"windows": {
"program": "${workspaceFolder}/node_modules/jest/bin/jest",
}
}
]
}
Если ваше приложение представляет собой приложение React, загружаемое с помощью создать-реагировать-приложение, то конфигурация немного отличается, поскольку Jest не запускается напрямую и описан в эта секция документации create-response-app.
@ СтивБеннетт да, интересно. Файл launch.json из этой ссылки - это то, что я использовал в прошлом, и я просто попробовал его снова с чистым проектом, и, похоже, он отлично работает в моей среде. Не могли бы вы рассказать больше о конфигурации и окружении Jest?
Добавил ссылку на мое репо. Launch.json - это прямая копия с этого сайта. Работает на OSX.
@SteveBennett Я только что взглянул на это еще раз. Я клонировал ваше репо и скопировал его в launch.json по ссылке и смог достичь точек останова, которые я установил в конфигурациях Jest Current File и Jest All. Я использую macOS 10.14.2, VSCode 1.30.0, NodeJS 10.14.2. Получилось ли у вас работать в вашей среде?
Нет, мне не удалось заставить его работать, но я рад, что он помог вам. Я macOS 10.12, VSCode 1.30.0, node 10.0.0.
Ха, только что еще раз протестировал, теперь работает. Я сделал полную перезагрузку компьютера между тем, как я разместил этот вопрос, и сейчас, может быть, связано с этим? Или, возможно, использовал более старую версию узла в то время. В любом случае, здорово, теперь это работает.
Хм, первая ссылка кажется идеальной, но у меня она не работает. VS Code переходит в режим отладки, тесты запускаются ... но точки останова не попадают.