在VS-Code中使用intellisense时,它会为我所使用的旧版本的期望提供自动完成建议。自从它被捐赠给Jest项目以来,API已经发生了变化,但出于某种原因,它仍然显示旧方法,但没有替换方法,如toHaveProperty
。
付出了很多努力来找出我的测试无法正常工作的原因,但却无法找到原因可能的答案。
答案 0 :(得分:1)
VS代码从NPM上的@types
命名空间中获取JavaScript的类型定义,其中包含从DefinitelyTyped GitHub repository自动提取的定义文件。
在您的情况下,类型定义将来自@types/expect
package,它在自述文件中指定它从https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/expect公开文件。
如果您查看所述文件的时间戳,您会注意到它们已在5个月内无法更新!这很可能是您问题的根源。
您(或其他人)需要提交更新的类型定义,以便为该库正确地进行自动类型获取功能。或者,you can override the type definitions locally or disable the feature altogether。