VSCode 使用 npm 和 package.json 脚本启动测试时不会在断点处停止
VSCode not stopping at breakpoints when test launched using npm and package.json scripts
从 VSCode 我想启动当前文件(例如 my-function.spec.ts)并进行交互式调试设置断点。
为了测试运行,我需要设置一些环境变量,例如MONGO=mongodb://localhost:27017/
。出于这个原因,我通过 npm 脚本 启动测试,并使用 [=] 中定义的配置的 "envFile"
属性 传递环境变量39=].
launch.json是
"configurations": [
{
"name": "Current TS Tests File",
"type": "node",
"request": "launch",
"runtimeExecutable": "npm",
"args": ["${relativeFile}"],
"cwd": "${workspaceRoot}",
"protocol": "inspector",
"envFile": "${workspaceFolder}/.env",
"runtimeArgs": ["run-script", "test-one"]
},
]
}
package.json脚本是
"scripts": {
"test-one": "npm mocha -r ts-node/register",
}
有了这个配置,我就可以启动测试了。测试按预期执行,但代码不会在我设置的断点处停止执行。关于如何使断点起作用有什么建议吗?
以下配置适用于我的机器。源代码是 in this GitHub repository. 运行 调试器的 Launch via NPM 配置在 assert
上命中断点。
关于使用 node-ts
和 VS Code in this node-ts
issue 进行调试的更多详细信息。如果您需要更多帮助将此设置映射到您的要求,请告诉我。
package.json
{
"scripts": {
"test": "mocha -r ts-node/register --inspect --debug-brk index.test.ts"
},
"devDependencies": {
"@types/mocha": "^5.2.7",
"@types/node": "^12.0.12",
"mocha": "^6.1.4",
"ts-node": "^8.3.0",
"typescript": "^3.5.2"
}
}
launch.json
{
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch via NPM",
"runtimeExecutable": "npm",
"runtimeArgs": ["run-script", "test"],
"port": 9229
}
]
}
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true,
"esModuleInterop": true
}
}
index.test.ts
import assert from 'assert';
describe('index', function () {
it('should pass', function () {
assert.equal(true, true);
});
});
从 VSCode 我想启动当前文件(例如 my-function.spec.ts)并进行交互式调试设置断点。
为了测试运行,我需要设置一些环境变量,例如MONGO=mongodb://localhost:27017/
。出于这个原因,我通过 npm 脚本 启动测试,并使用 [=] 中定义的配置的 "envFile"
属性 传递环境变量39=].
launch.json是
"configurations": [
{
"name": "Current TS Tests File",
"type": "node",
"request": "launch",
"runtimeExecutable": "npm",
"args": ["${relativeFile}"],
"cwd": "${workspaceRoot}",
"protocol": "inspector",
"envFile": "${workspaceFolder}/.env",
"runtimeArgs": ["run-script", "test-one"]
},
]
}
package.json脚本是
"scripts": {
"test-one": "npm mocha -r ts-node/register",
}
有了这个配置,我就可以启动测试了。测试按预期执行,但代码不会在我设置的断点处停止执行。关于如何使断点起作用有什么建议吗?
以下配置适用于我的机器。源代码是 in this GitHub repository. 运行 调试器的 Launch via NPM 配置在 assert
上命中断点。
关于使用 node-ts
和 VS Code in this node-ts
issue 进行调试的更多详细信息。如果您需要更多帮助将此设置映射到您的要求,请告诉我。
package.json
{
"scripts": {
"test": "mocha -r ts-node/register --inspect --debug-brk index.test.ts"
},
"devDependencies": {
"@types/mocha": "^5.2.7",
"@types/node": "^12.0.12",
"mocha": "^6.1.4",
"ts-node": "^8.3.0",
"typescript": "^3.5.2"
}
}
launch.json
{
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch via NPM",
"runtimeExecutable": "npm",
"runtimeArgs": ["run-script", "test"],
"port": 9229
}
]
}
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true,
"esModuleInterop": true
}
}
index.test.ts
import assert from 'assert';
describe('index', function () {
it('should pass', function () {
assert.equal(true, true);
});
});