Jest: Jest deve `process.exit(0|1)` após os testes terminarem de rodar

Criado em 3 mar. 2017  ·  3Comentários  ·  Fonte: facebook/jest


Deseja solicitar um recurso ou relatar um bug ?
recurso/bug

Qual é o comportamento atual?
Se uma biblioteca se comportar mal e não deixar o processo sair, o processo trava indefinidamente, embora todos os testes sejam aprovados. Pode-se argumentar que essas bibliotecas podem nem estar se comportando mal, pois existem algumas razões válidas para não deixar o processo terminar naturalmente.

Se o comportamento atual for um bug, forneça as etapas para reproduzir e uma demonstração do repl.it por meio de https://repl.it/languages/jest ou um repositório mínimo no GitHub que podemos yarn install e yarn test .

Qual é o comportamento esperado?
O Jest sai do processo quando todos os testes são concluídos e não há mais nada para o Jest testar.

Forneça sua configuração exata do Jest e mencione seu Jest, nó, versão yarn/npm e sistema operacional.
Eu não acho que seja relevante, mas aqui:

  • brincadeira: v19.0.2
  • nó: v7.7.1
  • npm: 4.1.2
  • fio: 0,21,3
  • os: Linux 4.10.1-gentoo #4 SMP PREEMPT qua 1 de março 14:47:04 EST 2017 x86_64 Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz GenuineIntel GNU/Linux

Comentários muito úteis

A resposta não resolveu o problema...

Todos 3 comentários

É para isso que serve --forceExit , mas é uma escotilha de escape. Se o Jest não sair, significa que você não está limpando corretamente após seus testes (use afterAll ).

A resposta não resolveu o problema...

@cpojer - você poderia esclarecer por que isso é considerado uma escotilha de escape e não um comportamento padrão?

Minha expectativa seria que invocar o Jest tenha o único propósito de executar testes. Uma vez que todos os blocos de teste foram resolvidos de uma forma ou de outra, e cada bloco after* foi processado, qual é a razão para supor que os processos que sobrevivem ao Jest devem continuar em execução?

IMO, estes devem ser eliminados por padrão. Temos after* para limpeza/encerramento, se necessário, mas aposto que na maioria das vezes uma saída difícil não apresentaria nenhum problema.

Esta página foi útil?
0 / 5 - 0 avaliações