Ban*_*San 30 javascript mocha.js node.js webstorm
我刚刚安装了WebStorm 11并创建了一个新项目,但WebStorm表示require()该describe方法需要a :
我添加了明确类型的mocha库,范围是针对测试目录(该文件所在的).
Bam*_*kie 103
编辑:如评论中所述,此问题中解决的实际问题实际上是IntelliJ 15/WebStorm 11中的错误(请参阅https://youtrack.jetbrains.com/issue/WEB-18768).我将在下面留下答案,因为在搜索所提供的解决方案时,很多人都来到这里.
接受的答案是解决问题的大锤方法.更好的解决方案是为测试目录启用mocha-DefinitelyTyped库.这不仅会消除错误检查,还会提供更好的语法突出显示.
从检查的描述:
当使用在其可见JavaScript代码之外定义自己的全局符号的库(例如
describe()在Mocha中)时,建议您在Preferences |中添加相应的TypeScript类型定义文件作为JavaScript库.语言和框架| JavaScript | 库.
导航到上面引用的首选项部分'首选项| 语言和框架| JavaScript | 库',并检查mocha-DefinitelyTyped库是否在列表中.
如果@types/mocha(以前名称mocha-DefinitelyTyped)不在列表中,请单击Download…按钮,在"TypeScript社区存根"部分中找到"mocha",选择它,然后单击"下载并安装":
该库仅mocha在列表中命名,但一旦导入,将转换为@types/mocha(在2019年初之前,它将转换为mocha-DefinitelyTyped).
一旦你有mocha-DefinitelyTyped,取消选中它的Enabled复选框.完全检查它将使全局,甚至在测试之外,这将是不准确的.相反,我们将管理其范围仅在您的测试目录中启用.单击Manage Scopes…按钮,找到测试目录,单击Library列,然后选择'mocha-DefinitelyTyped'条目.请参见下面的截图.
len*_*ena 10
这是第11节中介绍的新检查 - 它检查代码中使用的模块是否通过require()语句引用.实际上,这种检查对于mocha测试来说是多余的('describe'和其他东西不需要明确要求,因为它们被Mocha添加到全局范围).您可以禁用此检查,也可以将其抑制为"描述","它"等(请参阅https://www.jetbrains.com/webstorm/help/suppressing-inspections.html).另一种选择:创建一个自定义范围,排除您的规范文件(设置/外观和行为/范围),然后选择此范围为"缺少require()语句"检查(Settings/Editor/Inspections/Javascript/Node.js).
相关票证:WEB-18768
| 归档时间: |
|
| 查看次数: |
11951 次 |
| 最近记录: |