You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为TypeScript测试文件配置Mocha sidebar并解决ts-node/register找不到报错

Mocha Sidebar插件配置报错:找不到ts-node/register模块

我该如何为我的项目配置Mocha sidebar插件?
我的测试文件存放路径为:/src/Gamma.Tests/*.ts。
我已经在settings.json文件中添加了如下配置:

"mocha.files.glob": "src/Gamma.Tests/**/*.ts",
"mocha.requires": [
    "ts-node/register"
]

我也已经提前安装了以下依赖包:

npm install typescript --save-dev
npm install ts-node --save-dev
npm install -g ts-node
npm install -g typescript

VSCode中出现的报错信息如下:

运行Mocha失败,错误信息如下:
" 无法找到模块 'ts-node/register' 。引入栈:

  • c:\Users\rouhi.vscode\extensions\maty.vscode-mocha-sidebar-0.22.2\lib\worker\findtests.js
    " 错误栈可在输出通道中查看。如需更多帮助:

补充说明

我的package.json文件中的scripts配置如下:

"scripts": {
    "test": "mocha -r ts-node/register src/Gamma.Tests/**/*.ts",
    "start": "tsc && node ./build/server.js"
  },

我在本地执行npm run test命令时运行完全正常,无报错。
vscode运行环境


解决方案

出现该问题是因为Mocha Sidebar插件的执行逻辑和npm脚本不同:npm运行test脚本时会自动把项目本地node_modules目录加入模块查找路径,所以能正常找到本地安装的ts-node/register;但插件默认只会从自身扩展目录、全局node_modules路径查找模块,找不到项目本地的依赖,因此报错。
按照以下步骤调整配置即可解决:

  1. 打开项目.vscode目录下的settings.json文件,将mocha.requires配置修改为使用VSCode工作区变量指向本地ts-node路径:
"mocha.requires": [
    "${workspaceFolder}/node_modules/ts-node/register"
]
  1. 如果修改后仍报错,可以新增mocha.path配置,指定使用项目本地安装的mocha,避免插件自带的mocha版本和项目版本不兼容:
"mocha.path": "${workspaceFolder}/node_modules/mocha/bin/mocha",
"mocha.files.glob": "src/Gamma.Tests/**/*.ts"
  1. 配置修改完成后,按下Ctrl+Shift+P(Windows系统)或Cmd+Shift+P(Mac系统),搜索并执行「重载窗口」命令,重启后Mocha Sidebar即可正常加载所有测试用例。

内容的提问来源于stack exchange,提问作者x19

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 04:06:09