Skip to content
← Back to rules

jest/no-confusing-set-timeout スタイル

何ができるか

jest.setTimeout に関する混乱を招く使い方を禁止する

なぜ問題なのか

  • グローバルスコープ以外で呼び出されていること
  • 複数回呼び出されていること
  • フックや describetestit などの他の Jest 関数の後に呼び出されていること

以下のすべては無効なケースである:

javascript
escribe("test foo", () => {
  jest.setTimeout(1000);
  it("test-description", () => {
    // テストロジック;
  });
});

describe("test bar", () => {
  it("test-description", () => {
    jest.setTimeout(1000);
    // テストロジック;
  });
});

test("foo-bar", () => {
  jest.setTimeout(1000);
});

describe("unit test", () => {
  beforeEach(() => {
    jest.setTimeout(1000);
  });
});

使用方法

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

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/no-confusing-set-timeout": "error"
  }
}
bash
oxlint --deny jest/no-confusing-set-timeout --jest-plugin

参照