Skip to content
← Back to rules

jest/prefer-comparison-matcher スタイル

An auto-fix is available for this rule.

何を検査するか

このルールは、テスト内での比較表現が、以下の組み込みの比較マッチャのいずれかに置き換えられるべきかどうかをチェックします。

  • toBeGreaterThan
  • toBeGreaterThanOrEqual
  • toBeLessThan
  • toBeLessThanOrEqual

なぜ問題なのか

toBe(true) のような一般的なマッチャを使用して比較式を評価すると、テストの可読性が低下し、失敗時により役立つエラーメッセージが得られません。Jest の特定の比較マッチャは意図が明確になり、実際に比較された値を示すより良いエラーアウトプットを提供します。

このルールに対して誤りなコードの例:

js
expect(x > 5).toBe(true);
expect(x < 7).not.toEqual(true);
expect(x <= y).toStrictEqual(true);

このルールに対して正しいコードの例:

js
expect(x).toBeGreaterThan(5);
expect(x).not.toBeLessThanOrEqual(7);
expect(x).toBeLessThanOrEqual(y);
// 特殊ケース - 以下を参照
expect(x < "Carl").toBe(true);

このルールは eslint-plugin-vitest と互換性があります。使用するには、.oxlintrc.json に次の設定を追加してください:

json
{
  "rules": {
    "vitest/prefer-comparison-matcher": "error"
  }
}

使用方法

このルールを設定ファイルまたは CLI で有効化するには、次のようにします。

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/prefer-comparison-matcher": "error"
  }
}
bash
oxlint --deny jest/prefer-comparison-matcher --jest-plugin

参照