我有一个node.js项目,其中包含一些Jasmine规范。规范位于spec /子目录中,并根据jasmine-node的要求具有.spec.coffee扩展名。
当我在WebStorm IDE中打开我的某个规范文件时,对beforeEach
以及describe
和it
的所有来电都显示为带有工具提示的蓝色波浪形下划线:“未解析的函数或方法it()”。所以,即使我使用的是3.0 EAP,它应该是have some amount of Jasmine support,但它并不会自动发现这是一个Jasmine规范文件。
我尝试进入File>设置> JavaScript库,并将Jasmine添加为库(指定jasmine-2.0.0.rc1.js的路径),然后转到Usage Scope子页面并在“Project”旁边的下拉列表中选中“Jasmine” “但是这没有效果 - 茉莉花方法仍然没有得到解决。
如何告诉WebStorm spec子目录中的所有文件和/或扩展名为.spec.coffee的所有文件都是Jasmine测试,并让它识别那些测试正在使用的Jasmine API?
答案 0 :(得分:228)
您可以在Webstorm / PHPStorm / Idea
中使用预定义的JS库存根
我在Jasmine 2.0中使用此设置
答案 1 :(得分:29)
在使用webstorm 2016.1.1的Mac上,我做了以下事情:
答案 2 :(得分:6)
注意,如果您使用代码质量工具(如JSHint和WebStorm),添加全局jasmin / karma-jasmine库并没有消除JSHint错误。
您需要通过WebStorm的菜单系统(Lang& Frameworks> JavaScript>代码质量工具> JSHint)访问JSHint设置,然后单击复选框以使其知道它正在运行的环境。
答案 3 :(得分:4)
使用 TypeScript (和Angular2),您只需在WebStorm设置中启用TypeScript编译器...
设置>语言与设置> TypeScript ...
在编译器标题下勾选...
启用TypeScript编译器...
(我也点击了使用tsconfig.json电台)
现在可以识别Jasmine方法
答案 4 :(得分:3)
这也可能是由于缺少依赖性(如果您正在使用TypeScript进行开发)。
确保您已安装@types/jasmine
npm install --save-dev @types/jasmine
答案 5 :(得分:2)
如果您在使用Angular CLI
生成项目后遇到此问题,请转到File -> Settings -> Languages & Frameworks -> JavaScript -> Libraries
并检查{your-project-name}/node_modules
。