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?
Vous pouvez utiliser des souches de bibliothèque JS prédéfinies dans Webstorm/PHPStorm/Idea
J'utilise cette configuration avec Jasmine 2.0
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.
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
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
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
.