使WebStorm识别jest.setupFilesAfterEnv中定义的方法

时间:2019-07-01 21:08:44

标签: javascript jestjs code-hinting

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

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

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

我将.js文件添加为库,但这仍然没有完成。如何获得被认可的方法?我有什么可以做的事情告诉WebStorm expect对象具有新属性吗?

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

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

使用中:

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

1 个答案:

答案 0 :(得分:0)

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

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

只需将其添加到您的扩展调用上方,它就可以正常工作。

仍在寻找如何完成代码的工作。