Если вы похожи на меня, вы серьезно потеряли волосы, пытаясь заставить работать отладку Jest (в VS Code или иначе). Я имею в виду, console.log
- это здорово и все такое, но это действительно отстой, особенно когда вы можете использовать этот замечательный отладчик.
Я не шучу, за последние восемь месяцев или около того у меня был перерыв в отладке как минимум три раза. Может быть, это Jest, может быть, это VS Code, может быть, это Node, может быть, это Babel, может быть TypeScript, может быть, все они или некоторые из них в разное время, но поддержание работы отладки - это работа с частичной занятостью.
И информации на удивление мало, и большая часть информации, которую я нашел, по крайней мере, не работала для меня. Итак, после последнего раунда выдергивания волос я решил, что поделюсь своими результатами. Оказывается, похоже, что инструменты, наконец, немного созревают, и теперь все работает с меньшим принуждением.
Без лишних слов, вот моя текущая конфигурация:
Вы должны иметь возможность скопировать все это и вставить как новую конфигурацию в свой launch.json
файл. Очевидно, вам необходимо установить Jest. :)
Стоит отметить, что в package.json
есть соответствующая конфигурация:
"jest": "~21", "jest-cli": "~21", "ts-jest": "~21", // if you are using TypeScript "@types/jest": "^20.0.1", "babel-jest": "~20", // if you be using it "babel-plugin-transform-amd-to-commonjs": "^0.2.2", // if using amd "typescript": "2.5.2" // just FYI
Возможно, актуальная конфигурация Jest (с некоторыми отредактированными;)):
"jest": { "moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json"], "transform": { "^.+\\.js$": "babel-jest", "^.+\\.tsx?$": "<rootDir>/node_modules/ts-jest/preprocessor.js" }, "globals": { "ts-jest": { "useBabelrc": true } }, "testRegex": "(ts|tsx|js)$" },
Предположительно, Jest делает тестирование намного лучше. По моему опыту, это похоже на карточный домик, но в целом это интерфейсная разработка. ржу не могу
Как всегда, YMMV. Не стесняйтесь комментировать другие конфигурации, которые вам подходят! Я постараюсь и дальше публиковать это, когда все изменится.
P.S. Для справки:
- Отладка узла кода VS
- Параметры Jest CLI
- Тестирование TypeScript на Jest
- Преобразование AMD в модули CommonJS - если вы получите что-то вроде
define is not defined
, возможно, у вас все еще есть модули RequireJS. Этот плагин может помочь Jest с этим справиться.