Jest Snapshot 在 updateSnapshot 上未正确格式化为漂亮的格式,例如。没有将对象或数组添加到快照中

Ben*_*McL 3 testing snapshot object node.js jestjs

我的玩笑快照失败并出现错误,显示传入的版本(已使用Pretty-format进行格式化)与尚未格式化的快照不匹配。在此输入图像描述

我正在使用笑话 28.1.1。

当我运行 jest -updateSnapshot 时,它会在没有漂亮格式的情况下更新它们。

我尝试更新快照,但它们的格式不正确。

Ben*_*McL 6

经过几个小时的调试我找到了答案。我的代码库使用的是版本 28.1.1,但在全球范围内我运行的是 jest 版本 29.3.1。此后,他们对快照的格式化方式进行了重大更改。当我只是开玩笑 -updateSnapshot 时,它使用的是版本 29 并在不使用 prettier 的情况下更新它们。但是当我从 package.json 脚本运行它时,它将运行版本 28 并且它们不匹配。

如果我将其添加到我的 jest.config.js 中,它就会起作用。

snapshotFormat: {
  escapeString: true,
  printBasicPrototype: true
}
Run Code Online (Sandbox Code Playgroud)

但最终我只是将依赖更新为版本 29。