【问题标题】:How can I clear the Jest cache?如何清除 Jest 缓存?
【发布时间】:2017-12-05 15:01:17
【问题描述】:

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

那么如何清除 Jest 缓存呢?

【问题讨论】:

    标签: jestjs


    【解决方案1】:

    从 Jest 22.0.0+ 开始,您可以使用 --clearCache 选项:

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

    【讨论】:

      【解决方案2】:

      只需运行:

      jest --clearCache

      如果您在 Node.js 项目中安装了 Jest 作为依赖项,并且 jest 命令不起作用,只需在 package.json 文件中创建一个新脚本即可。

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

      然后,在您的终端中运行:

      npm run clear_jest
      

      借助现代 NPM,您还可以运行 (感谢 johny

      npx jest --clearCache
      

      【讨论】:

      • 借助现代 NPM,您还可以运行 npx jest --clearCache
      • 如果您已经安装了 Jest 作为依赖项,那么您可能已经添加了一个脚本来运行它。假设脚本名为“test”:npm run test -- --clearCache 将传递 clearCache 标志。
      【解决方案3】:

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

      【讨论】:

      • 缓存位置是否应该位于运行测试的项目之外的任何位置?
      【解决方案4】:

      首先,你需要知道 Jest 版本:

      yarn jest --version
      

      笑话 >= 22.0.0

      yarn jest --clearCache
      

      开玩笑

      yarn jest --showConfig | grep cacheDir
      

      返回(您需要删除该文件夹)

            "cacheDirectory": "/tmp/jest_rs",
      

      然后,你删除它

      rm -rf /tmp/jest_rs
      

      如果您不使用Yarn,请使用npx jest 进行说明。

      【讨论】:

        猜你喜欢
        • 2012-11-12
        • 2011-05-10
        • 2011-11-04
        • 2017-02-11
        • 2020-03-13
        • 2013-02-09
        • 2011-10-17
        • 2011-02-01
        • 2015-11-02
        相关资源
        最近更新 更多