J'utilise Jest comme cadre de test unitaire et ci-dessous intellisense est correct:
Cependant, lorsque j'installe Cypress "cypress": "^ 3.2.0" , le même code affichant maintenant l'erreur La propriété 'toMatch' n'existe pas sur le type 'Assertion'. Vouliez-vous dire "match"? . La raison de cet IMO est que les typages d'installation de Cypress sont sous node_modules / cypress / types / chai / index.d.ts et VS Code les sélectionne pour intellisense. Jest et Cypress dépendent tous deux de la bibliothèque d'assertions Chai. Intellisense après l'installation de Cypress:
Existe-t-il un moyen de dire à VS Code quel Chai intellisense utiliser dans un dossier spécifique? Ou y a-t-il un moyen de le spécifier dans le fichier jsconfig.json ?
3 Réponses :
La solution consistait à créer des alias pour les variables globales exposées dans Jest
et décorez ces variables avec @type dans JSDoc. J'ai donc créé un fichier jestGlobals.js dans le même répertoire où se trouvent mes tests.
Fichier jestGlobals.js : (j'ai inclus un seul global par souci de simplicité, mais vous feriez la même chose pour toutes les variables globales):
import { expect } from './jestGlobals'
Je suis moi aussi confronté à ce problème.
Habituellement, je peux taper les affirmations par cœur, mais lorsque vous avez vraiment besoin de la saisie semi-automatique, ajoutez
/// <reference types="jest" />
(A directive triple-slash ) En haut de votre le fichier de la suite de tests vous donnera les bons types de plaisanterie.
Remarque: vous devez avoir @ types / jest également installé!
p >
Je vais modifier le commentaire. Vous devez également avoir @ types / jest installé!
J'ai eu le même problème avec cypress et jest.
Je l'ai résolu en créant deux jsconfig.json
cypress / jsconfig.json
{
"typeAcquisition": { "include": ["jest"] }
}
puis un pour mon dossier src
src / jsconfig.json
{
"typeAcquisition": { "include": ["cypress"] }
}
J'ai redémarré VSCode et cela a fonctionné comme prévu