Skip to content
← Back to rules

vitest/require-local-test-context-for-concurrent-snapshots 正しさ

An auto-fix is available for this rule.

何を行うか

このルールは、並行スナップショットテストが適切に設定されたローカルテストコンテキスト内で実行されることを保証することを目的としています。

なぜ問題なのか

適切なコンテキストなしにスナップショットテストを並行して実行すると、信頼性が低く、一貫性のないスナップショットが生成される可能性があります。並行テストが適切なコンテキストで正しく設定されていることを確認することで、正確かつ安定したスナップショットを維持でき、潜在的な競合や失敗を回避できます。

このルールに対する不正なコードの例:

javascript
test.concurrent("myLogic", () => {
  expect(true).toMatchSnapshot();
});

describe.concurrent("something", () => {
  test("myLogic", () => {
    expect(true).toMatchInlineSnapshot();
  });
});

このルールに対する正しいコードの例:

javascript
test.concurrent("myLogic", ({ expect }) => {
  expect(true).toMatchSnapshot();
});

test.concurrent("myLogic", (context) => {
  context.expect(true).toMatchSnapshot();
});

使い方

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

json
{
  "plugins": ["vitest"],
  "rules": {
    "vitest/require-local-test-context-for-concurrent-snapshots": "error"
  }
}
bash
oxlint --deny vitest/require-local-test-context-for-concurrent-snapshots --vitest-plugin

参照