2.6.8
https://jsfiddle.net/chrisvfritz/50wL7mdz/
Il est lancé à partir du fichier vue / dist / vue.js de la dernière version que j'essaye actuellement de l'isoler, mais il semble lié au nouveau code ajouté récemment. Ajoutera plus d'étapes dès que possible si vous ne l'observez toujours pas.
1) répliqué avec ce dépôt - https://github.com/vuejs/vue-test-utils-mocha-webpack-example
2) le cloner
3) npm i
4) test npm - pas d'erreur
4) Vue de mise à jour npm
5) test npm - ReferenceError: les performances ne sont pas définies
Salutations,
Plamen
aucune erreur observée
une erreur est observée
Veuillez fournir une repro lorsque vous signalez des bogues
Salut @posva ,
Le problème n'est pas répliqué avec un éditeur en ligne, mais j'ai fourni des étapes avec un projet de github dans la section Étapes à suivre pour reproduire.
Salutations,
Plamen
L'élément auquel vous avez lié est un exemple archivé et obsolète. Une repro n'a pas besoin d'être jsfiddle, il peut s'agir d'un fichier HTML (ou simplement du contenu de celui-ci). Il ne devrait pas non plus inclure d'autres dépendances comme mocha ou vue-test-utils (cela pourrait être un problème sur ce paquet). À votre santé.
Merci d'avoir répondu!
Hm - je vais essayer une autre approche - les «performances» qui se trouvent à cette ligne ne sont déclarées nulle part dans le fichier. Nous avons une window.performance et une config.performance, mais je ne vois aucune «performance» globale. Il est venu avec la dernière version car ici n'est pas présent.
Une fois que vous exécutez une analyse statique sur le fichier et qu'il jette.
Salutations,
Plamen
Obtenir également cela. J'ai reçu un avertissement de mon CI après la mise à niveau de Vue vers la version 2.6.9 (j'utilise Renovate pour garder deps à jour).
Il semble que dans l'environnement jsdom:
> window.performance
Performance {}
> performance
ReferenceError: performance is not defined
Nous devons donc utiliser window.performace
au lieu d'appeler performance
directement pour que le code fonctionne correctement dans jsdom.
D'accord, je pense que j'ai ouvert le menu avant d'ajouter l'amélioration de l'étiquette et cliqué à l'extérieur après avoir ajouté l'étiquette a PR, donc il l'a supprimée. Cas de bord drôle
Il convient de noter que bien que JSDOM ait un support performance
via process.hrtime
, je ne pense pas que nous puissions garantir le hack actuel avec performance
fonctionnera toujours comme prévu dans l'environnement JSDOM ( c'est différent de l'implémentation des navigateurs après tout).
@posva 😂
Jusqu'à ce que cela soit publié, une solution de contournement consiste à ajouter les lignes suivantes après l'enregistrement JSDOM:
// eslint-disable-next-line no-undef
global.performance = window.performance;
Jusqu'à ce que cela soit publié, une solution de contournement consiste à ajouter les lignes suivantes après l'enregistrement JSDOM:
// eslint-disable-next-line no-undef global.performance = window.performance;
Désolé d'être stupide mais où dois-je ajouter la ligne suivante puisque l'enregistrement JSDOM est extrait dans Vue CLI 3 et cli-plugin-unit-mocha (pas de setup.js)?
Merci pour l'aide...
// eslint-disable-next-line no-undef
global.performance = window.performance;
Meme question. Où ajouter les lignes suivantes?
@theonlychase Je l'ai placé dans mon point d'entrée de test principal test/setup.js
le même répertoire qui contient votre require('jsdom-global')
Référencé ci-dessous à --require
flag.
"test": "mocha-webpack --webpack-config webpack/webpack.config.test.js --require test/setup.js reporter mocha-bamboo-reporter"
Commentaire le plus utile
Il semble que dans l'environnement jsdom:
Nous devons donc utiliser
window.performace
au lieu d'appelerperformance
directement pour que le code fonctionne correctement dans jsdom.