jest/require-top-level-describe スタイル
何をするか
テストケースおよびフックがトップレベルの describe ブロック内にあることを要求します。
なぜ問題なのか
テストとフックを describe ブロック内で整理することで、テストスイートの構造やグループ化が改善されます。これによりテスト出力の可読性が向上し、特に大きなコードベースにおいてテストの組織化に役立ちます。
このルールは、テストケース(test および it)またはフック(beforeAll、beforeEach、afterEach、afterAll)がトップレベルの describe ブロック内にない場合、警告を発します。
例
このルールに違反する不適切なコードの例:
javascript
// describe ブロックの上に位置
test("my test", () => {});
describe("test suite", () => {
it("test", () => {});
});
// describe ブロックの下に位置
describe("test suite", () => {});
test("my test", () => {});
// フックの場合も同様
beforeAll("my beforeAll", () => {});
describe("test suite", () => {});
afterEach("my afterEach", () => {});このルールに準拠する適切なコードの例:
javascript
// describe ブロックの上に位置
// describe ブロック内に位置
describe("test suite", () => {
test("my test", () => {});
});
// ネストされた describe ブロック内に位置
describe("test suite", () => {
test("my test", () => {});
describe("another test suite", () => {
test("my other test", () => {});
});
});このルールは eslint-plugin-vitest と互換性があります。使用するには、.oxlintrc.json に以下の設定を追加します:
json
{
"rules": {
"vitest/require-top-level-describe": "error"
}
}設定
このルールは、次のプロパティを持つ設定オブジェクトを受け入れます:
maxNumberOfTopLevelDescribes
型: integer
デフォルト: 18446744073709551615
テストファイル内で許可されるトップレベルの describe ブロックの最大数。
使用方法
設定ファイルまたは CLI でこのルールを有効化するには、以下のように使用できます:
json
{
"plugins": ["jest"],
"rules": {
"jest/require-top-level-describe": "error"
}
}bash
oxlint --deny jest/require-top-level-describe --jest-plugin