Skip to content
← Back to rules

jest/max-expects 风格

它的作用

此规则强制限制单个测试中 expect() 调用的最大数量。

为什么这是不好的?

包含多个不同断言的测试很可能混合了多个目标。 通常建议每个测试只关注一个目标,以确保当测试失败时,问题能够容易地被定位。

示例

以下为该规则的 错误 示例:

javascript
test("不应通过", () => {
  expect(true).toBeDefined();
  expect(true).toBeDefined();
  expect(true).toBeDefined();
  expect(true).toBeDefined();
  expect(true).toBeDefined();
  expect(true).toBeDefined();
});

it("不应通过", () => {
  expect(true).toBeDefined();
  expect(true).toBeDefined();
  expect(true).toBeDefined();
  expect(true).toBeDefined();
  expect(true).toBeDefined();
  expect(true).toBeDefined();
});

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

json
{
  "rules": {
    "vitest/max-expects": "error"
  }
}

配置

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

max

type: integer

default: 5

单个测试中允许的 expect() 断言调用的最大数量。

如何使用

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

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/max-expects": "error"
  }
}
bash
oxlint --deny jest/max-expects --jest-plugin

参考资料