У меня есть nodejs модуль, который я тестирую модулем с помощью jasmine-ts [0.3.0], запустив jasmine-ts --config=spec/support/jasmine.json
.
Я хочу запустить какой-то модульный тест и остановиться на точке останова, которая находится внутри функции, которую я тестирую. К сожалению, отладчик останавливается только внутри модульных тестов, но не в рабочем коде.
В чем может быть проблема?
Больше информации о моих попытках.
- Перекомпиляция машинописи при изменениях включена в моем Intellij IDEA 2020.1. Я могу распознать, что он работает правильно, так как, когда я изменяю какой-нибудь текстовый файл в рабочем коде, я вижу изменения в соответствующем Javascript файле в папке
dist
. - Если я запустил свой модуль, то смогу остановить и на точках останова.
- Странно то, что я могу останавливаться на точке останова в производственном коде, выполняя модульные тесты в другом модуле, где используется
mocha
и выполняется так: npx mocha -r ts-node/register test/**/*.test.ts
.
Мысли о том, что может быть не так.
Зависимости могут работать неправильно вместе. Недавно я обновлял библиотеки до последней версии, но заметил, что для jasmine-ts
требуется ts-node
меньше 8, поэтому в настоящее время в моем пакете следующие версии. json:
"devDependencies": {
"jasmine": "3.3.1",
"jasmine-ts": "^0.3.0",
"ts-node": "7.0.1",
"nyc": "^13.0.1",
"typescript": "^3.8.3",
"@types/jasmine": "^3.3.8",
"jasmine-spec-reporter": "^4.2.0",
"jasmine-reporters": "^2.3.2"
}
Возможно, исходное сопоставление нарушено. Я проверил некоторые *.js.map
файлы, и кажется, что они указывают на правильные *.ts
файлы, поэтому не знаю, что там еще проверить.
Я думал, если Конфигурация машинописного текста также может повлиять, но мне непонятно, как именно. В любом случае, это мой tsconfig. json:
{
"compilerOptions": {
"strict": false,
"target": "es2015",
"sourceMap": true,
"module": "commonjs",
"outDir": "./dist",
"moduleResolution": "node"
},
"include": [
"src/**/*.ts"
],
"exclude": [
"./spec/**/*.ts",
"./node_modules/**/*.ts"
]
}
Что-то определенно не так. Когда я хочу увидеть покрытие, которое я запускаю с помощью теста ny c npm, я вижу Javascript файлы, однако это должен быть Typescript. Но я предполагаю, что это может быть другая проблема, но, возможно, нет ...
Любые подсказки, чтобы решить проблему?:)
Обновление:
Одним из способов решения этой проблемы является очистка кода из Intellij IDEA и других файлов, которые могут повлиять на стабильную работу, путем полного удаления проекта с компьютера и повторного его клонирования. Этим действием это помогло мне остановиться на точках останова в других модулях, использующих jasmine, однако мой модуль все еще находится в странном состоянии, так как в какой-то момент я пришел к производственному коду, но не по порядку. Я предполагаю, что вижу некоторые ошибки в отношении обещаний, но я не вижу.