Расширение Test Explorer
Используя пользовательский интерфейс Test Explorer и Jest Test Explorer , вы можете получить хотя бы часть пути туда.
Расширение Test Explorer добавляет команду с именем test-explorer.redebug
. В палитре команд описание выглядит следующим образом: « Тестовый проводник: повторите последний тестовый запуск в отладчике ».
Эта команда работает с оговоркой, что «последний тестовый запуск» означает последний тестовый прогон с использованием расширения Test Explorer .
Конфигурация отладки
launch.json
поддерживает использование команд, добавленных расширениями, как указано здесь :
Когда командная переменная интерполируется, команда запускается и переменная заменяется результатом команды (строка).
Мы можем (ab) использовать этот факт, чтобы собрать воедино конфигурацию отладки, которая запустит команду:
{
"type": "node",
"request": "launch",
"name": "Last Test",
"args": [
"${command:test-explorer.redebug}",
],
}
Теперь вы можете запустить файл, пакет или тест с помощью пользовательского интерфейса Test Explorer, а затем отладить этот же файл, набор или тест, нажав клавишу F5, независимо от того, какой файл находится в фокусе.
Недостатки
Есть ограничения и недостатки.
- Это похоже на хак в том смысле, что это менее отладочная конфигурация, чем механизм (взломанный) для простого присоединения клавиши F5 к команде расширения.
- Вы теряете детальный контроль над конфигурацией отладки, так как вы по существу используете конфигурацию, предоставленную расширением, а не свою собственную. Например, выходные данные отправляются на консоль отладки, и нет никакого очевидного способа отправить ее на встроенный терминал.
- «Тест последнего запуска» не знает о тестах, запускаемых за пределами пользовательского интерфейса Test Explorer. Например, запуск конфигурации отладки «Jest Current File» не обновляет «тест последнего запуска». Также не используется возможность «Отладка», предоставляемая расширением
vscode-jest
.
Тем не менее, если основной целью является возможность F5 перейти в сеанс отладки, независимо от того, какой файл находится в фокусе, этот подход может быть достаточно хорошим.