Skip to content
← Back to rules

jest/prefer-lowercase-title スタイル

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

何をするか

ittestdescribe、および bench の説明が小文字から始まるように強制します。これにより、テストの失敗時により読みやすいメッセージが得られます。

なぜこれは問題か

テストの失敗時に、小文字のメッセージは文法的により正しい失敗メッセージを生成する傾向があります。

このルールに違反しているコードの例:

javascript
it("Adds 1 + 2 to equal 3", () => {
  expect(sum(1, 2)).toBe(3);
});

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

javascript
it("adds 1 + 2 to equal 3", () => {
  expect(sum(1, 2)).toBe(3);
});

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

json
{
  "rules": {
    "vitest/prefer-lowercase-title": "error"
  }
}

設定

このルールは次のプロパティを持つ設定オブジェクトを受け入れます:

allowedPrefixes

type: string[]

default: []

この配列オプションを使用して、タイトルが大文字で始まってもよい接頭辞を指定できます。これは、API エンドポイントのテストを書く際に、HTTP メソッドを接頭辞として使う場合に便利です。 デフォルトでは、何も許可されていません({ "allowedPrefixes": [] } と同等)。

{ "allowedPrefixes": ["GET"] } オプションに対する正しいコードの例:

js
/* jest/prefer-lowercase-title: ["error", { "allowedPrefixes": ["GET"] }] */
describe("GET /live");

ignore

type: string[]

default: []

この配列オプションは、このルールがチェックする Jest または Vitest 関数を制御します。以下の4つの値が可能です:

  • "describe"
  • "test"
  • "it"
  • "bench"

デフォルトでは、これらのオプションのどれも有効になっていません({ "ignore": [] } と同等)。

{ "ignore": ["describe"] } オプションに対する正しいコードの例:

js
/* jest/prefer-lowercase-title: ["error", { "ignore": ["describe"] }] */
describe("Uppercase description");

{ "ignore": ["test"] } オプションに対する正しいコードの例:

js
/* jest/prefer-lowercase-title: ["error", { "ignore": ["test"] }] */
test("Uppercase description");

{ "ignore": ["it"] } オプションに対する正しいコードの例:

js
/* jest/prefer-lowercase-title: ["error", { "ignore": ["it"] }] */
it("Uppercase description");

ignoreTopLevelDescribe

type: boolean

default: false

このオプションを有効にすると、トップレベルの describe ブロックだけが大文字から始まるタイトルを持つことを許可します。

{ "ignoreTopLevelDescribe": true } オプションに対する正しいコードの例:

js
/* jest/prefer-lowercase-title: ["error", { "ignoreTopLevelDescribe": true }] */
describe("MyClass", () => {
  describe("#myMethod", () => {
    it("does things", () => {
      //
    });
  });
});

lowercaseFirstCharacterOnly

type: boolean

default: true

このオプションを有効にすると、テスト名の最初の文字のみが小文字であることを検証します。

{ "lowercaseFirstCharacterOnly": true } オプションに対する正しいコードの例:

js
/* vitest/prefer-lowercase-title: ["error", { "lowercaseFirstCharacterOnly": true }] */
describe("myClass", () => {
  describe("myMethod", () => {
    it("does things", () => {
      //
    });
  });
});

{ "lowercaseFirstCharacterOnly": true } オプションに対する誤りのあるコードの例:

js
/* vitest/prefer-lowercase-title: ["error", { "lowercaseFirstCharacterOnly": true }] */
describe("MyClass", () => {
  describe("MyMethod", () => {
    it("does things", () => {
      //
    });
  });
});

使用方法

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

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

参照