Skip to content
← Back to rules

jest/no-large-snapshots 风格

它做了什么

禁止使用过大的快照。

为什么这是个问题?

在使用 Jest 的快照功能时,应关注生成的快照大小。作为一般最佳实践,快照应限制在较小的尺寸范围内,以便更易于管理和审查。一个存储的快照的价值取决于其被审查的程度,因此保持快照简短、简洁且可读性高,对于确保全面审查至关重要。

示例

此规则的 错误 代码示例:

javascript
exports[`a large snapshot 1`] = `
line 1
line 2
line 3
line 4
line 5
line 6
line 7
line 8
line 9
line 10
line 11
line 12
line 13
line 14
line 15
line 16
line 17
line 18
line 19
line 20
line 21
line 22
line 23
line 24
line 25
line 26
line 27
line 28
line 29
line 30
line 31
line 32
line 33
line 34
line 35
line 36
line 37
line 38
line 39
line 40
line 41
line 42
line 43
line 44
line 45
line 46
line 47
line 48
line 49
line 50
line 51
`;

此规则的 错误 代码示例:

js
exports[`a more manageable and readable snapshot 1`] = `
line 1
line 2
line 3
line 4
`;

该规则与 eslint-plugin-vitest 兼容。要使用它,请将以下配置添加到你的 .oxlintrc.json 文件中:

json
{
  "rules": {
    "vitest/no-large-snapshots": "error"
  }
}

配置

此规则接受一个包含以下属性的配置对象:

allowedSnapshots

type: Record<string, array>

default: {}

快照文件路径到允许超出大小限制的快照名称数组的映射。快照名称可以指定为正则表达式。

inlineMaxSize

type: integer

default: 50

内联快照允许的最大行数。

maxSize

type: integer

default: 50

外部快照文件允许的最大行数。

如何使用

要通过配置文件或 CLI 启用 此规则,可以使用:

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/no-large-snapshots": "error"
  }
}
bash
oxlint --deny jest/no-large-snapshots --jest-plugin

参考资料