如何让WebStorm识别Jasmine方法?

时间:2011-11-12 23:50:17

标签: jasmine webstorm

我有一个node.js项目,其中包含一些Jasmine规范。规范位于spec /子目录中,并根据jasmine-node的要求具有.spec.coffee扩展名。

当我在WebStorm IDE中打开我的某个规范文件时,对beforeEach以及describeit的所有来电都显示为带有工具提示的蓝色波浪形下划线:“未解析的函数或方法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?

6 个答案:

答案 0 :(得分:228)

您可以在Webstorm / PHPStorm / Idea

中使用预定义的JS库存根
  • 打开文件>设置...
  • 选择语言&框架> JavaScript>库
  • 点击下载...

JavaScript Library settings

  • Swich to TypeScript社区存根
  • 查找 karma-jasmine (最初名称为 jasmine )(如果这不起作用,请尝试 jasmine
  • 点击下载并安装

enter image description here

我在Jasmine 2.0中使用此设置

答案 1 :(得分:29)

在使用webstorm 2016.1.1的Mac上,我做了以下事情:

  1. 打开首选项(webstorm->首选项或[command +,])
  2. 转到图书馆和框架 - > javascript - >库
  3. 下载
  4. 选择' jasmine - DefinitelyTyped'从列表中
  5. Jasmine support added to webstorm

答案 2 :(得分:6)

注意,如果您使用代码质量工具(如JSHint和WebStorm),添加全局jasmin / karma-jasmine库并没有消除JSHint错误。

您需要通过WebStorm的菜单系统(Lang& Frameworks> JavaScript>代码质量工具> JSHint)访问JSHint设置,然后单击复选框以使其知道它正在运行的环境。

JSHint setting

答案 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