jest/prefer-comparison-matcher スタイル
何を検査するか
このルールは、テスト内での比較表現が、以下の組み込みの比較マッチャのいずれかに置き換えられるべきかどうかをチェックします。
toBeGreaterThantoBeGreaterThanOrEqualtoBeLessThantoBeLessThanOrEqual
なぜ問題なのか
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