Skip to content
← Back to rules

jest/no-mocks-import スタイル

何をするか

このルールは、mocks キーワードを含むパスからのインポートを報告します。

なぜ悪いのか

__mocks__ ディレクトリからモックを手動でインポートすると、予期しない振る舞いが生じ、Jest の自動モック機能が破壊される可能性があります。Jest は jest.mock() が呼び出された際に、__mocks__ ディレクトリからモックを自動的に解決して使用するように設計されています。これらのディレクトリから直接インポートすることは、Jest のモジュール解決システムを回避し、テスト環境と本番環境の間に不整合を引き起こす可能性があります。

このルールに対して 誤り なコードの例:

ts
import thing from "./__mocks__/index";
require("./__mocks__/index");

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

ts
import thing from "thing";
require("thing");

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

json
{
  "rules": {
    "vitest/no-mocks-import": "error"
  }
}

使い方

このルールを構成ファイルまたは CLI で 有効化 するには、以下のようにします:

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/no-mocks-import": "error"
  }
}
bash
oxlint --deny jest/no-mocks-import --jest-plugin

参考資料