Back

Vitest実行時に特定のenvを設定するやり方

Vitest実行時に特定のenvを設定するやり方

こんにちは、合同会社Stegの@keigoです。 今回は、Vitest実行時に特定のenvを設定するやり方を紹介します。 本記事では、nuxt-vitestを使用しています。 環境は以下の通りです。

{
  "nuxt": "^3.6.0",
  "nuxt-vitest": "^0.10.2",
  "vitest": "^0.33.0"
} 

vitest.configで設定するやり方

以下のように、任意の環境変数を書くことで、vitest実行時にprocess.envにアサインされます。

// vitest.config.mjs
import { defineVitestConfig } from 'nuxt-vitest/config'
export default defineVitestConfig({
    test: {
    env: {
      SAMPLE_ENV_VARIABLE: 'onakasuityattayo'
    }
    }
})

nuxt.config.tsで設定するやり方

以下のように設定することで、.envファイルにも切り出しつつ、testの時にenvを切り替えることができます。

// nuxt.config.ts
export default defineNuxtConfig({
  $test: {
    runtimeConfig: {
      public: {
        apiBase: ''
      },
    },
  },
})

おまけ

記事執筆時にはConfiguring Vitestには記述されていませんでしたが、VitestのOptionsの型定義ファイルの中に、以下のような記述が存在しました。 この記述を参考に試してみたらいけました^^

/**
 * Custom environment variables assigned to `process.env` before running tests.
 */
env?: Record<string, string>;