typescript - 在 VS Code 下获取 mocha 调试以使用 mocha 的 --file 选项来启动每个测试
问题描述
我不使用 VS Code 的同事制作了一个小打字稿文件,每次测试都运行。这可以通过使用 --file 选项从 mocha 命令行运行。我试图将 --file 选项和 args 部分放在 .vscode/launch.json 文件中,但它似乎被忽略了。
在拉了很多头发之后,我设法通过使用 --config 选项指向一个小的 .mocharc.js 文件来让它工作,我把它放在 .vscode 文件夹中以使其不受干扰。.mocharc.js 看起来像这样:
module.exports = {
file: ['./tests/testHelper.ts']
}
我把它放在这里,以便有人可以发布更好的方法,或者有人可能会发现它有用。launch.json 的 args 部分如下所示:
"args": [
"-r",
"ts-node/register",
"--config", "${workspaceRoot}/.vscode/.mocharc.js",
"${relativeFile}",
"--no-timeout"
],
解决方案
我能够按照最初的描述完成这项工作。构建Node.js: Launch Program
启动配置,添加program
和args
:
{
"name": "Mocha: Current File",
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"args": [
"-r",
"ts-node/register",
"--file",
"testHelper.ts",
"${relativeFile}",
"--no-timeout"
],
"skipFiles": [
"<node_internals>/**"
]
}
我能够针对测试文件运行调试器,查看测试助手是否运行,并根据需要放置断点。您可以针对此最小项目设置进行验证:https ://github.com/zbream/so-mocha-helper
因此,我怀疑您的问题可能与您的项目更具体。但是,如果没有更多信息,这很难说。
推荐阅读
- python-3.x - 获取 Pandas 系列中拆分字符串列表的第一项
- c - 为什么我的 hello-1.c 和 Makefile 没有生成 .ko 文件?
- django - 如何解决 SSL SYSCALL 错误:芹菜文件描述符错误?
- flutter - 如何将 RefreshIndicator 添加到列表的子部分?
- rust - 检查 Rust 中路径组件的权限
- php - 为什么我的 if else 语句有效,但是当我用函数替换它时却不起作用?
- excel - 如何计算第一个填充的合并单元格?
- mysql - SQL将行乘以数组中的每个元素
- heroku - 我可以重复使用旧的(已删除的)heroku 应用名称吗?
- python - 基于 CNN 模型预测值的车牌裁剪图像