javascript - 让 WebStorm 识别 jest.setupFilesAfterEnv

在 Webstorm 中,我使用 jest 进行单元测试,并使用 expect.extend() 创建了一个扩展。此代码在 {projectDir}./tests/jest-helpers.js 和我的 package.json 中,我有以下内容:

"jest": {
  "setupFilesAfterEnv": ["./tests/jest-helpers.js"]
}

这工作得很好,expect 扩展在我的单元测试中工作得很好。但是,在我的单元测试中调用此方法的代码未被识别为有效,并显示警告提示“未解析的函数或方法。”

我将 .js 文件添加为库,但这仍然无法完成工作。我如何获得被识别的方法?我可以做一些 JSDoc 事情来告诉 WebStorm expect 对象有一个新属性吗?

我的 expect 扩展定义示例未被选为有效方法。

// jest-helper.js
expect.extend({
   toSmellLike(actual, expected) {
      // an implementation
   }
});

正在使用中:

expect(value).toSmellLike('bananas'); // `toSmellLike is highlighted with a warning

最佳答案

我一直在寻找相同的....我得到的最好的结果是使用 JSDoc 注释来突出显示自定义方法。

/**
 * @typedef {jest.Expect} expect
 * @property {function} toSmellLike
 */

只需将其添加到您的扩展调用之上即可。

仍在寻找如何使用它完成代码。

关于javascript - 让 WebStorm 识别 jest.setupFilesAfterEnv 中定义的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56842482/

相关文章:

python - 如何模拟类方法的 cls 参数?

reactjs - 我是否需要在功能性 React 组件中对功能 Prop 使用 useCallba

ruby - Jekyll:尽管安装了最新版本,但命令未发现问题

javascript - 如何确保我的第一个 React 渲染具有来自 localStorage 的

ios - 如何加密/解密安全 QR - 在 Swift 中编码为可读格式

vue.js - 动态路由器链接将 *slash* 更改为 %2F

android-studio - 安卓工作室 : Cannot get DialogFragment

php - woocommerce 自定义订单状态和 REST API

javascript - 如何将组添加到 buefy b-taginput?

sql - 如何在 AWS Athena 中编写多个 SQL 语句,如 CREATE 表(使用 CL