Как очистить кеш Jest?


122

Jest подбирает старую версию пакета, поэтому мои тесты терпят неудачу, если я не использую --no-cache. Я даже могу удалить папку пакета, node_modulesи Jest с радостью выполнит тесты (почти все проходят).

Итак, как мне очистить кеш Jest?

Ответы:


113

Вы можете найти расположение кеша, запустив jest --showConfig. Ищите cacheDirectoryключ. Его значение - это имя папки, которую вам нужно удалить.


есть ли причина, по которой расположение кеша должно быть где-то за пределами проекта, в котором выполняются тесты?
ограбить

144

Начиная с Jest 22.0.0+, вы можете использовать --clearCacheопцию:

Удаляет каталог кэша Jest, а затем выходит без выполнения тестов. Удалит cacheDirectory, если параметр передан, или каталог кэша Jest по умолчанию.

Для удобства (согласно @Beraliv): https://facebook.github.io/jest/docs/en/cli.html#clearcache


96

Просто беги:

jest --clearCache

Если вы установили Jest как зависимость в своем проекте узла, и jestкоманда не работает, просто создайте новый скрипт внутри своего package.jsonфайла.

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

А затем запустите в своем терминале:

npm run clear_jest

С современным NPM вы также можете запустить (кредиты @johny ) :

npx jest --clearCache

25
С современным NPM вы также можете бегатьnpx jest --clearCache
Джонни

18

Во-первых, вам нужно знать версию шутки:

yarn jest --version

шутка> = 22.0.0

yarn jest --clearCache

шутка <22.0.0

yarn jest --showConfig | grep cacheDir

Возврат (вам нужно удалить эту папку)

      "cacheDirectory": "/tmp/jest_rs",

Затем вы удалите его

rm -rf /tmp/jest_rs

Если вы не используете yarn, выполните инструкции сnpx jest

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.