Как отлаживать Jest-тесты при использовании Yarn 2 / Yarn PnP - PullRequest
0 голосов
/ 13 марта 2020

Я бы хотел использовать функцию node --debug-brk, описанную в в предыдущем ответе и jest docs для отладки в проектах на основе npm / yarn 1, но node_modules/ - это отсутствует в проектах на основе Yarn 2 / PnP (Plug n Play), поэтому эти инструкции не будут работать для меня.

Обычный способ доступа к двоичному файлу в пряже 2 из yarn run --inspect-brk jest --runInBand запускает сеанс отладки с терминала, но при подключении к инспектору Remote Target Chrome через chrome://inspect мы получаем сообщение об ошибке о невозможности подключения к файлу jest. js binary , поскольку это путь к файлу .zip.

Uncaught Error: Cannot find module '/Users/MY_USERNAME/PATH_TO_MY_PROJECT/.yarn/cache/jest-npm-24.9.0-8ddb425e99-2.zip/node_modules/jest/bin/jest.js

Какие обходные пути доступны без понижения до Пряжи 1?

1 Ответ

0 голосов
/ 13 марта 2020

Обновление: указанный ниже обходной путь необходим для узла 12.15 и ниже. После 12.16.1 вы можете напрямую использовать следующую команду:

yarn run --inspect-brk jest --runInBand

Исправление, которое было добавлено в пряжу 12.16.1: здесь .

Архивированный ответ для более старых версий Node, 12.15 и ниже

Один из вариантов - использовать yarn unplug перед использованием yarn run

   yarn unplug jest

После этого следующее работает с Jest в Yarn 2 и Chrome chrome://inspect:

   yarn run --inspect-brk jest --runInBand # any additional jest args

Недостатком этого подхода является то, что вам может потребоваться отменить unplug перед проверкой в ​​вашей ветке, поскольку он описывается как краткосрочная мера , а не долгосрочное состояние, в котором можно оставить зависимость.

...