Skip to content

changed ​

  • 类型: boolean | string
  • 默认值: false
  • CLI: --changed, --changed=HEAD~1

仅针对已更改的文件运行测试。如果未提供值,将针对未提交的更改(包括已暂存和未暂存的更改)运行测试。

要针对上一次提交中的更改运行测试,可以使用 --changed HEAD~1。你也可以传入提交哈希(例如 --changed 09a9920)或分支名称(例如 --changed origin/develop)。

当与代码覆盖率一起使用时,报告将只包含与更改相关的文件。

项目中每个测试文件所依赖的文件发生更改时,会重新运行该项目中的所有测试:setupFiles、globalSetup、自定义的 runner 或 environment、snapshotSerializers、从 envDir 加载的 .env 文件,以及项目的配置文件及其导入的所有内容。Vitest 还会跟踪 @vitest-environment 注释中设置的环境、没有工厂函数的 vi.mock 调用所使用的 __mocks__ 文件,以及每个测试的快照文件。传递给 toMatchFileSnapshot 的文件不会被跟踪。

如果与 forceRerunTriggers 配置项配对使用,当 forceRerunTriggers 列表中的至少一个文件发生更改时,将运行整个测试套件。默认情况下,对 Vitest 配置文件和 package.json 的更改将始终重新运行整个套件。