2

在 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
4

1 回答 1

0

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

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

只需在您的扩展调用上方添加它,它应该可以工作。

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

于 2020-03-01T01:45:24.007 回答