Skip to content
← Back to rules

jest/max-expects スタイル

何をするか

このルールは、1つのテスト内で許可される expect() 呼び出しの最大数を制限します。

なぜ問題か

多くの異なるアサーションを含むテストは、複数の目的が混在している可能性が高いです。 テストごとに1つの目的を持つ方が一般的に望ましく、これによりテストが失敗した場合に問題の原因を簡単に特定できます。

このルールに違反する誤りのあるコード例:

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

型: integer

デフォルト: 5

1つのテスト内に許可される expect() によるアサーション呼び出しの最大数。

使用方法

このルールを有効にするには、設定ファイルまたは CLI で以下のように使用できます:

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

参照