jest/max-nested-describe スタイル
何をするか
このルールは、ネストされた describe() 呼び出しの最大深度を強制します。
なぜ問題なのか
describe() ブロックをあまりに深くネストすると、テストスイートが読みにくくなり、理解しにくくなります。
例
以下のパターンは、デフォルト設定 { "max": 5 } での警告と見なされます:
誤りの例:
javascript
describe("foo", () => {
describe("bar", () => {
describe("baz", () => {
describe("qux", () => {
describe("quxx", () => {
describe("多すぎる", () => {
it("何かを得るべき", () => {
expect(getSomething()).toBe("Something");
});
});
});
});
});
});
});
describe("foo", function () {
describe("bar", function () {
describe("baz", function () {
describe("qux", function () {
describe("quxx", function () {
describe("多すぎる", function () {
it("何かを得るべき", () => {
expect(getSomething()).toBe("Something");
});
});
});
});
});
});
});正しい例:
ts
describe("foo", () => {
describe("bar", () => {
it("何かを得るべき", () => {
expect(getSomething()).toBe("Something");
});
});
describe("qux", () => {
it("何かを得るべき", () => {
expect(getSomething()).toBe("Something");
});
});
});
describe("foo2", function () {
it("何かを得るべき", () => {
expect(getSomething()).toBe("Something");
});
});
describe("foo", function () {
describe("bar", function () {
describe("baz", function () {
describe("qux", function () {
describe("これが限界です", function () {
it("何かを得るべき", () => {
expect(getSomething()).toBe("Something");
});
});
});
});
});
});このルールは eslint-plugin-vitest と互換性があります。
使用するには、.oxlintrc.json に以下の設定を追加してください:
json
{
"rules": {
"vitest/max-nested-describe": "error"
}
}設定
このルールは次のプロパティを持つ設定オブジェクトを受け付けます:
max
type: integer
default: 5
ネストされた describe 呼び出しの許容される最大深度。
使用方法
設定ファイルまたは CLI でこのルールを 有効化 するには、次のようにします:
json
{
"plugins": ["jest"],
"rules": {
"jest/max-nested-describe": "error"
}
}bash
oxlint --deny jest/max-nested-describe --jest-plugin