Existe uma maneira de obter cobertura de código na estrutura de teste Javascript Jest, construída sobre o Jasmine?
A estrutura interna não imprime a cobertura de código obtida. Eu também tentei usar Istambul , cobertor e JSCover , mas nenhum deles funciona.
javascript
jestjs
Alex Palcuie
fonte
fonte
Respostas:
Ao usar o Jest 21.2.1 , posso ver a cobertura do código na linha de comando e criar um diretório de cobertura passando
--coverage
para o script Jest. Abaixo estão alguns exemplos:Tendo a instalar o Jest localmente, nesse caso, o comando pode ser assim:
npx jest --coverage
Presumo (embora não tenha confirmado), que isso também funcionaria se eu instalasse o Jest globalmente:
jest --coverage
Os documentos muito esparsos estão aqui
Quando naveguei no diretório de cobertura / lcov-report , encontrei um arquivo index.html que poderia ser carregado em um navegador. Ele incluía as informações impressas na linha de comando, além de informações adicionais e alguma saída gráfica.
fonte
node_modules
via./node_modules/.bin/jest --coverage
. Desde que o pacote seja nomeado em package.json, você pode garantir a execução com a versão exata do jest que você espera.ATUALIZAÇÃO: 20/07/2018 - Links adicionados e nome atualizado para a cobertura
ATUALIZAÇÃO: 14/8/2017 - Esta resposta está totalmente desatualizada. Basta olhar para os documentos do Jest agora. Eles têm suporte e documentação oficiais sobre como fazer isso.
@hankhsiao tem um repositório bifurcado onde Istambul está trabalhando com Jest. Adicione isso às suas dependências de desenvolvimento
Verifique também se a cobertura está ativada na entrada do package.json jest e também é possível especificar os formatos desejados. (O html é muito ruim).
Consulte a documentação do Jest para obter coberturaReporters (o padrão é
["json", "lcov", "text"]
)Ou adicione
--coverage
quando você chamar brincadeira.fonte
coverageReporters
e o padrão é["json", "lcov", "text"]
. Veja facebook.github.io/jest/docs/…Jan 2019: Versão Jest 23.6
Para quem está estudando essa questão recentemente, especialmente se estiver testando usando
npm
ouyarn
diretamenteAtualmente, você não precisa alterar as opções de configuração
De acordo com o site oficial de brincadeira , você pode fazer o seguinte para gerar relatórios de cobertura:
1- Para npm:
Você deve colocar
--
antes de passar o--coverage
argumento de brincadeirase você tentar invocar o
--coverage
diretamente sem o--
não vai funcionar2- Para fios:
Você pode passar o
--coverage
argumento de brincadeira diretamentefonte
--watch
configuração para isso.package.json
.Tudo bem, ignore minha resposta anterior, pois alguém me disse que isso não resolveu o problema.
Nova resposta:
1) Verifique o mais recente gracejo (v 0.22): https://github.com/facebook/jest
2) A equipe do facebook coloca Istambul como parte do relatório de cobertura e você pode usá-lo diretamente.
3) Após executar o jest, você pode obter o relatório de cobertura no console e, na pasta raiz definida pelo jest, você encontrará o relatório de cobertura nos formatos json e html.
4) Para sua informação, se você instalar a partir do npm, poderá não obter a versão mais recente; então tente o github primeiro e verifique se a cobertura é o que você precisa.
Resposta antiga:
Também tenho o mesmo problema. Resposta curta é:
Istanbul
eJest
NÃO estão trabalhando juntos.Verifique as seguintes páginas para maiores detalhes:
https://github.com/facebook/jest/issues/101
@ Costa Costa:
config.collectCoverage
NÃO está funcionando, pois é uma função 'TODO'. Por favor, verifique o código fonte.fonte
Se você está tendo problemas com o --coverage não está funcionando, também pode ser devido à cobertura dos Reporters ativados sem a adição de 'texto' ou 'resumo de texto'. Na documentação: "Observação: a configuração desta opção substitui os valores padrão. Adicione" texto "ou" resumo de texto "para ver um resumo de cobertura na saída do console." Fonte
fonte
Configure seu arquivo package.json
Agora execute:
Todo o teste começará a ser executado e você receberá o relatório.
fonte
Eu tive o mesmo problema e o corrigi como abaixo.
npm install --save-dev yarn
npm install --save-dev jest-cli
"jest-coverage": "yarn run jest -- --coverage"
Depois de escrever os testes, execute o comando npm run jest-cover. Isso criará uma pasta de cobertura no diretório raiz. /coverage/icov-report/index.html possui a visualização html da cobertura do código.
Feliz codificação!
fonte
Experimente Chutzpah . Acabei de usá-lo. E eu escrevi sobre como integrar no Visual Studio.
Foi assim que codifiquei a cobertura com Chutzpah: http://francorobles.wordpress.com/2014/09/14/code-coverage-with-chutzpah/
fonte
require
.