web-dev-qa-db-fra.com

Comment faire en sorte que WebStorm reconnaisse les méthodes Jasmine?

J'ai un projet node.js qui contient des spécifications Jasmine . Les spécifications sont dans un sous-répertoire spec/et ont l'extension .spec.coffee, comme requis par jasmine-node .

Lorsque j'ouvre un de mes fichiers de spécification dans l'IDE WebStorm , tous les appels à beforeEach et describe et it sont affichés avec un soulignement bleu ondulé avec l'info-bulle: "Fonction ou méthode non résolue it ()". Donc, même si j'utilise le .0 EAP et qu'il est supposé avoir une certaine quantité de support Jasmine , cela ne prend pas automatiquement en compte le fait qu'il s'agit d'un fichier de spécifications Jasmine .

J'ai essayé d'aller dans Fichier> Paramètres> Bibliothèques JavaScript, d'ajouter Jasmine en tant que bibliothèque (en spécifiant le chemin d'accès à jasmine-2.0.0.rc1.js), puis de passer à la sous-page Usage Scope et de cocher "Jasmine" dans le répertoire. liste déroulante à côté de "Projet", mais cela n’a aucun effet - les méthodes Jasmine apparaissent toujours comme non résolues.

Comment puis-je dire à WebStorm que tous les fichiers d'un sous-répertoire spec et/ou de tous les fichiers portant l'extension .spec.coffee sont des tests Jasmine et qu'il doit reconnaître les API Jasmine qu'ils utilisent?

128
Joe White

Vous pouvez utiliser des souches de bibliothèque JS prédéfinies dans Webstorm/PHPStorm/Idea

  • Ouvrir Fichier> Paramètres ...
  • Sélectionnez Langages et cadres> JavaScript> Bibliothèques
  • Cliquez sur Download ...

JavaScript Library settings

  • Swich to membres de la communauté TypeScript
  • Trouvez karma-jasmine (à l'origine sous le nom jasmine) (Si cela ne fonctionne pas, essayez jasmine)
  • Cliquez sur Télécharger et installer

enter image description here

J'utilise cette configuration avec Jasmine 2.0

229
oujesky

Sur un mac avec webstorm 2016.1.1, j'ai procédé comme suit:

  1. Ouvrir les préférences (webstorm-> préférence ou [commande +,])
  2. Aller dans les bibliothèques et les frameworks -> javascript -> libraries
  3. télécharger
  4. sélectionnez 'jasmine - DefinitelyTyped' dans la liste

Jasmine support added to webstorm

29
Eran

Notez que si vous utilisez un outil de qualité du code tel que JSHint avec WebStorm, l'ajout de la bibliothèque globale jasmin/karma-jasmine n'a pas permis de supprimer les erreurs JSHint.

Vous devez accéder aux paramètres JSHint via le système de menus de WebStorm (Lang & Frameworks> JavaScript> Outils de qualité du code> JSHint), puis cochez la case pour lui permettre de savoir dans quel environnement il s'exécute.

JSHint setting

6
prasanthv

Avec TypeScript (et Angular2), vous devez simplement activer le compilateur TypeScript dans les paramètres WebStorm ...

Paramètres> Langues et paramètres> TypeScript ...

Sous l'en-tête Compilateur ...

Activer le compilateur TypeScript ...

(J'ai aussi cliqué sur la radio d'utilisation tsconfig.json)

Les méthodes au jasmin seront maintenant reconnues

4
danday74

Cela peut également être dû à une dépendance manquante (si vous développez dans TypeScript).

Assurez-vous d'avoir installé @types/jasmine

npm install --save-dev @types/jasmine
3
Brad Johnson

Si vous rencontrez ce problème après avoir généré un projet à l'aide de la commande Angular CLI ensuite aller à File -> Settings -> Languages & Frameworks -> JavaScript -> Libraries et vérifie {your-project-name}/node_modules.

2
theblang