typescript - 使用 Mocha、Chai 和 TypeScript 设置时,WebStorm 找不到 ts-node/module 和描述定义

标签 typescript mocha.js webstorm chai

我在使用 Mocha/Chai 和 TypeScript 设置 WebStorm 时遇到问题。

我安装了 mocha 并在我的 package.json 中设置了一个测试脚本,如下所示

"test": "env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'tests/**/*.ts'"

当我运行 npm test 时,测试运行并且一切正常。

但是,WebStorm 无法识别describeit。即使我运行的是 WebStorm 2020.3,我也遵循 this post 中的解决方案。没有任何成功。

此外,当我在 WebStorm 中使用运行器时,我收到以下错误:

ERROR: Error: Cannot find module 'ts-node/register'

在 WebStorm 的 Runner 配置中,我添加了以下内容:

  • 环境变量:env TS_NODE_COMPILER_OPTIONS='{"module": "commonjs"}'
  • 额外的 Mocha 选项:mocha -r ts-node/register

enter image description here

但这也没有帮助。

我错过了什么?

[编辑]

感谢 lena 的评论,我发现 Mocha 包指向了错误的项目,所以我修复了它。不幸的是我现在收到这个错误:

enter image description here

最佳答案

尝试更改环境变量的定义方式 - 删除值周围的单引号,这就是 mocha 提示的问题。只需将其设置为 TS_NODE_COMPILER_OPTIONS={"module":"commonjs"}:

enter image description here

对我来说效果很好

关于typescript - 使用 Mocha、Chai 和 TypeScript 设置时,WebStorm 找不到 ts-node/module 和描述定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66779087/

相关文章:

intellij-idea - IntelliJ IDEA中如何设置单击打开文件?

intellij-idea - IntelliJ/WebStorm "Smart"换行缩进/Tab

javascript - 为什么当我 setState 时我的 React Hook 没有更新?

javascript - typescript 字符串到 bool 值

node.js - 如何测试方法上的 setInterval?

node.js - 我可以使用 istanbul 来检测 mocha html-cov

dart - 如何在WebStorm中延长执行dart2js的最大时间

node.js - 构建的 TypeScript 应用程序从错误的 src 而不是 dist、文件夹导入

TypeScript Fetch response.Json<T> - 预期 0 个类型参数,但得到 1 个

reactjs - 如何测试 enzyme 中子元素的文本?