Jest正在获取一个包的旧版本,因此我的测试失败,除非我使用——no-cache。我甚至可以从node_modules文件夹中删除包文件夹,Jest很乐意运行测试(几乎所有测试都通过了)。

那么如何清除Jest缓存呢?


当前回答

从Jest 22.0.0+开始,你可以使用——clearCache选项:

删除Jest缓存目录,然后退出而不运行测试。如果该选项被传递,将删除cacheDirectory,或者Jest的默认缓存目录。

其他回答

如果使用nx monorepo,执行以下命令清除缓存

nx test <packageName> --clearCache

运行:

是 --清除缓存

如果你在Node.js项目中安装了Jest作为依赖项,而Jest命令不起作用,只需在包中创建一个新脚本。json文件。

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

然后,在你的终端上运行:

npm run clear_jest

使用现代NPM,你还可以运行(归功于johny):

npx jest --clearCache

从Jest 22.0.0+开始,你可以使用——clearCache选项:

删除Jest缓存目录,然后退出而不运行测试。如果该选项被传递,将删除cacheDirectory,或者Jest的默认缓存目录。

您可以通过运行jest——showConfig来查找缓存位置。查找cacheDirectory键。它的值是您需要删除的文件夹的名称。

首先,你需要知道笑话的版本:

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来执行指令。