2.6.8
https://jsfiddle.net/chrisvfritz/50wL7mdz/
Ele está jogando do arquivo vue / dist / vue.js da versão mais recente que estou tentando isolá-lo, mas parece estar conectado com o novo código adicionado recentemente. Adicionará mais etapas o mais rápido possível se você ainda não observar.
1) replicado com este repo - https://github.com/vuejs/vue-test-utils-mocha-webpack-example
2) clonar
3) npm i
4) teste npm - sem erro
4) vue de atualização de npm
5) teste npm - ReferenceError: desempenho não definido
Saudações,
Plamen
nenhum erro observado
um erro foi observado
Forneça uma reprodução ao relatar bugs
Olá @posva ,
O problema não é replicado com um editor online, mas forneci etapas com um projeto do github na seção Etapas para reproduzir.
Saudações,
Plamen
O que você vinculou é um exemplo arquivado e obsoleto. Uma reprodução não precisa ser jsfiddle, pode ser um arquivo HTML (ou apenas o conteúdo dele). Ele também não deve incluir outras dependências como mocha ou vue-test-utils (pode ser um problema nesse pacote). Felicidades.
Obrigado por responder!
Hm - vou tentar outra abordagem - 'desempenho' que está nesta linha não é declarado em qualquer lugar do arquivo. Temos um window.performance e config.performance, mas não vejo nenhum 'desempenho' global. Ele veio com a versão mais recente porque aqui não está presente.
Depois de executar uma análise estática no arquivo e ele joga.
Saudações,
Plamen
Também conseguindo isso. Recebi um aviso do meu CI depois que o Vue foi atualizado para 2.6.9 (eu uso Renovate para manter os departamentos atualizados).
Parece que no ambiente jsdom:
> window.performance
Performance {}
> performance
ReferenceError: performance is not defined
Portanto, temos que usar window.performace
vez de chamar performance
diretamente para fazer o código funcionar corretamente no jsdom.
Ok, acho que abri o menu antes de você adicionar a melhoria de rótulo e cliquei fora depois de adicionar o rótulo tem PR, então ele o removeu. Caso engraçado
Deve-se observar que embora JSDOM tenha um suporte de performance
via process.hrtime
, não acho que podemos garantir o hack atual com performance
sempre funcionará como esperado no ambiente JSDOM ( afinal, é diferente da implementação dos navegadores).
@posva 😂
Até que isso seja lançado, uma solução alternativa é adicionar as seguintes linhas após o registro JSDOM:
// eslint-disable-next-line no-undef
global.performance = window.performance;
Até que isso seja lançado, uma solução alternativa é adicionar as seguintes linhas após o registro JSDOM:
// eslint-disable-next-line no-undef global.performance = window.performance;
Desculpe por ser estúpido, mas onde adiciono a seguinte linha, já que o registro JSDOM é abstraído no Vue CLI 3 e cli-plugin-unit-mocha (sem setup.js)?
Obrigado pela ajuda...
// eslint-disable-next-line no-undef
global.performance = window.performance;
Mesma questão. Onde adiciono as seguintes linhas?
@theonlychase Coloquei -o em meu ponto de entrada de teste principal test/setup.js
no mesmo diretório que contém seu require('jsdom-global')
Referenciado abaixo na bandeira --require
.
"test": "mocha-webpack --webpack-config webpack/webpack.config.test.js --require test/setup.js reporter mocha-bamboo-reporter"
Comentários muito úteis
Parece que no ambiente jsdom:
Portanto, temos que usar
window.performace
vez de chamarperformance
diretamente para fazer o código funcionar corretamente no jsdom.