Skip to content
← Back to rules

jest/prefer-to-be スタイル

🛠️ An auto-fix is available for this rule.

何をするか

数値や文字列などのプリミティブリテラルに対しては toBe マッチャを使用することを推奨し、nullundefinedNaN に対してはそれぞれの特定のマッチャを使用することを推奨します。

なぜ問題なのか

数値や文字列などのプリミティブリテラルに対してアサーションを行う場合、toEqual マッチャはすべて同じ動作をしますが、コード上でわずかに異なる読みにくさを持ちます。

このルールでは、これらの状況において toBe マッチャを使用することを推奨しています。なぜなら、最も文法的に自然な表現になるからです。また、nullundefinedNaN については、より明確なエラーメッセージを提供するため、それぞれの特定の toBe マッチャを使用することを推奨しています。

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

javascript
expect(value).not.toEqual(5);
expect(getMessage()).toStrictEqual("hello world");
expect(loadMessage()).resolves.toEqual("hello world");

このルールに準拠している正しい例:

javascript
expect(value).not.toBe(5);
expect(getMessage()).toBe("hello world");
expect(loadMessage()).resolves.toBe("hello world");
expect(didError).not.toBe(true);
expect(catchError()).toStrictEqual({ message: "oh noes!" });

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

json
{
  "rules": {
    "vitest/prefer-to-be": "error"
  }
}

使用方法

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

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

参照