Como limpar o cache do Jest?

108

Jest está pegando uma versão antiga de um pacote e, portanto, meus testes falham a menos que eu use --no-cache. Posso até deletar a pasta do pacote node_modulese Jest fica feliz em executar os testes (quase todos passando).

Então, como faço para limpar o cache do Jest?

Manuel
fonte

Respostas:

105

Você pode encontrar a localização do cache executando jest --showConfig. Procure a cacheDirectorychave. Seu valor é o nome da pasta que você precisa remover.

Edy Ionescu
fonte
128

A partir de Jest 22.0.0+, você pode usar a --clearCacheopção:

Exclui o diretório de cache do Jest e sai sem executar testes. Deletará cacheDirectory se a opção for passada, ou o diretório de cache padrão de Jest.

Para fácil referência (conforme @Beraliv): https://facebook.github.io/jest/docs/en/cli.html#clearcache

Ryan H.
fonte
85

Apenas corra:

jest --clearCache

Se você instalou o Jest como uma dependência em seu projeto de nó e o jestcomando não funciona, apenas crie um novo script dentro de seu package.jsonarquivo.

{
    ...
    "scripts:" {
        "clear_jest": "jest --clearCache"
    }
    ...
}

E então, execute em seu terminal:

npm run clear_jest

Com o NPM moderno, você também pode executar (créditos para @johny ) :

npx jest --clearCache
Paulo Coghi - Reintegrar Monica
fonte
23
Com o NPM moderno, você também pode executarnpx jest --clearCache
Johny
16

Primeiro, você precisa saber a versão do gracejo:

yarn jest --version

jest> = 22.0.0

yarn jest --clearCache

jest <22.0.0

yarn jest --showConfig | grep cacheDir

Devoluções (você precisa remover essa pasta)

      "cacheDirectory": "/tmp/jest_rs",

Então, você o remove

rm -rf /tmp/jest_rs

Se você não usa yarn, siga as instruções comnpx jest

pablorsk
fonte