Ver*_*reb 6 unit-testing mocha.js typescript visual-studio-code
我写了一个Typescript库.单元测试也使用Mocha框架在Typescript中编写.我想直接执行单元测试而不编译成javascript.这适用于此命令:
./node_modules/mocha/bin/mocha ./test/*.test.ts --require ts-node/register
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下启动设置从Visual Studio Code调试单元测试:
{
"type": "node",
"request": "launch",
"name": "Mocha Tests",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"args": [
"--require",
"ts-node/register",
"${workspaceRoot}/test/*.test.ts"
],
"internalConsoleOptions": "openOnSessionStart"
}
Run Code Online (Sandbox Code Playgroud)
这样我就可以从VS Code调试Mocha本身,而不是单元测试.Mocha为测试生成单独的进程,调试器无法自动附加到子进程.
从Visual Studio Code调试Typescript单元测试的正确方法是什么?
将此线程更新为对我们有用的配置(自我注释)。
--compilers中的选项已弃用ts:ts-node/register给出错误更新的配置
{
"name": "mocha tests",
"type": "node",
"protocol": "inspector",
"request": "launch",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"stopOnEntry": false,
"args": [ "-r", "ts-node/register", "${workspaceRoot}/test/**/*.spec.ts", "--no-timeouts"],
"cwd": "${workspaceRoot}"
}
Run Code Online (Sandbox Code Playgroud)
如果有人觉得它有用,以下launch.json配置片段对我有用,没有任何解决方法:
{
"name": "mocha tests",
"type": "node",
"protocol" : "inspector",
"request": "launch",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"stopOnEntry": false,
"args": [ "--compilers", "ts:ts-node/register", "--no-timeouts", "${relativeFile}"],
"cwd": "${workspaceRoot}"
}
Run Code Online (Sandbox Code Playgroud)
正常工作对我node v7.10.0,typescript 2.4.0和Visual Studio代码1.13.1。双方mocha并typescript都在本地安装node_modules。
| 归档时间: |
|
| 查看次数: |
1622 次 |
| 最近记录: |