Jestjs 什么是过时的快照和快照文件?

Jestjs 什么是过时的快照和快照文件?,jestjs,Jestjs,我觉得Jest快照摘要有点混乱。在我们的一个存储库中运行测试后,我得到以下摘要: Snapshot Summary › 2 snapshots written in 1 test suite. › 50 obsolete snapshot files found, re-run with `-u` to remove them. › 3 obsolete snapshots found, re-run with `-u` to remove them. 快照测试意味着我们将当前测试的输出

我觉得Jest快照摘要有点混乱。在我们的一个存储库中运行测试后,我得到以下摘要:

Snapshot Summary
 › 2 snapshots written in 1 test suite.
 › 50 obsolete snapshot files found, re-run with `-u` to remove them.
 › 3 obsolete snapshots found, re-run with `-u` to remove them.
快照测试意味着我们将当前测试的输出与更改前的输出进行比较,以捕捉副作用

因此,如果我答对了,总结意味着

  • 2个测试是新的,没有可用的快照进行比较
  • 50个测试仍然提供与以前相同的输出
  • 已经删除了3个测试,但快照仍然存在
因此,使用
-u
运行

  • 更新50个快照的时间戳,但不更改其内容
  • 删除3个无用快照的文件

这种理解正确吗?

我发布这个问题已经有一段时间了,据我所知,我可以自己回答:

“过时”是指快照或快照文件,其中不再存在
.toMatchSnapshot()

快照组织在每个测试套件的一个文件中。这些文件中的单个快照与测试名称一起存储,在jest的
it()
函数中给出。如果重命名测试,则旧快照仍在快照文件中,但被识别为“过时”

>在一个测试套件中编写两个快照。

⇒ 2个测试是新的,没有可用的快照进行比较

这一点是正确的

>找到50个过时的快照文件

50个测试仍然提供与以前相同的输出

如果错误,则相应的50个测试套件已被重命名、移动或删除。如此高的数量是不寻常的,在更新快照之前,您可能应该找到一种方法将快照重新映射到它们的测试

>发现3个过时的快照

⇒ 已经删除了3个测试,但快照仍然存在


因此,这只是部分正确,因为测试可能已经重命名,而不是删除。

我使用-u运行它,它更新了这些测试的过时状态。