Skip to content
Vitest 1
Main Navigation ガイドAPI設定高度な
1.6.1
0.34.6

日本語

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
한국어
Italiano
Polski
Türkçe
čeština
magyar

日本語

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
한국어
Italiano
Polski
Türkçe
čeština
magyar

外観

Sidebar Navigation

ガイド

Vitest の必要性

はじめに

特徴

ワークスペース

コマンドラインインターフェース

テストのフィルタリング

レポーター

カバレッジ

スナップショット

モック

型テスト

Vitest UI

ブラウザモード

ソース内テスト

テストコンテキスト

テスト環境

マッチャー拡張

IDE 連携機能

デバッグ

他のテストランナーとの比較

マイグレーションガイド

よくあるエラー

パフォーマンスの改善

API

テスト API リファレンス

モック関数

Vi

expect

expectTypeOf

assert

assertType

設定

Vitestの設定ファイル管理

Vitestの設定

このページの内容

よくあるエラー ​

モジュール './relative-path' が見つかりません ​

モジュールが見つからないというエラーが表示される場合、いくつかの原因が考えられます。

    1. パスの記述に誤りがある可能性があります。パスが正しいか再度確認してください。
    1. tsconfig.json の baseUrl に依存している可能性があります。Vitest はデフォルトでは tsconfig.json の設定を読み込まないため、この機能を利用する場合は、vite-tsconfig-paths を別途インストールする必要があります。
ts
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

export default defineConfig({
  plugins: [tsconfigPaths()],
});

または、パスをルート相対パスではなく、相対パスで記述してください。

diff
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'
    1. 相対エイリアスが正しく設定されているか確認してください。Vitest は、インポートパスをプロジェクトルートからのパスではなく、インポート元のファイルからの相対パスとして扱います。
ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    alias: {
      '@/': './src/', 
      '@/': new URL('./src/', import.meta.url).pathname, 
    },
  },
});

"./mocked-file.js" をモックできません。既にロードされているため ​

このエラーは、既にロードされているモジュールに対して vi.mock メソッドが呼び出された場合に発生します。 Vitest は、この呼び出しはキャッシュされたモジュールが優先されるため効果がないため、このエラーをスローします。

vi.mock は常にホイスティングされることに注意してください。これは、モジュールがテストファイルの実行開始前に、おそらくセットアップファイルでロードされたことを意味します。 エラーを修正するには、インポートを削除するか、セットアップファイルの最後にキャッシュをクリアしてください。 その場合、セットアップファイルとテストファイルは異なるモジュールを参照することに注意してください。

ts
// setupFile.js
import { vi } from 'vitest';
import { sideEffect } from './mocked-file.js';

sideEffect();

vi.resetModules();

ワーカーを終了できませんでした ​

このエラーは、NodeJS の fetch がデフォルトの pool: 'threads' で使用されている場合に発生する可能性があります。 この問題は、issue Timeout abort can leave process(es) running in the background #3077 で追跡されています。

回避策として、pool: 'forks' または pool: 'vmForks' に切り替えることができます。

構成ファイルで pool を指定します。

ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    pool: 'forks',
  },
});

または、package.json スクリプトで指定します。

diff
scripts: {
-  "test": "vitest"
+  "test": "vitest --pool=forks"
}
Pager
前のページマイグレーションガイド
次のページパフォーマンスの改善

MITライセンス の下で公開されています。

Copyright (c) 2024 Mithril Contributors

https://v1.vitest.dev/guide/common-errors

MITライセンス の下で公開されています。

Copyright (c) 2024 Mithril Contributors