JestからVitestへ移行・導入について
レビュー投稿日の情報になります
株式会社Linc’well / TakuyaTaniguchi
メンバー / フロントエンドエンジニア
最終更新日投稿日
| ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
|---|---|---|
| 11名〜50名 | 2025年6月 | B to B |
| ツールの利用規模 | 11名〜50名 |
|---|---|
| ツールの利用開始時期 | 2025年6月 |
| 事業形態 | B to B |
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
私たちのメインプロダクトのフロントエンド開発環境は、 Create-React-App (CRA) ベースで約6年運用してきました。 しかし、CRAはすでにメンテナンスされておらず、周辺ライブラリの更新も難しい状況です。そこで基盤刷新の一環として Vite への移行を決定し、同時にテストランナーも Jest → Vitest へ切り替えることになりました。
どのような状態を目指していたか
- 既存のテストコードを流用して、JestからVitestへの移行が完了している。
- プロダクト開発を滞らせることなく移行を完了し、開発メンバーが即座にテストコードを書ける。
比較した軸
- 既存アプリケーションとの親和性
- 導入コスト
- 学習コスト
選定理由
- ViteとVitestの親和性が高いこと
- Jestからの移行が公式でサポートされていること
- 多くのWebアプリケーションで利用実績があること
導入の成果
改善したかった課題はどれくらい解決されたか
モダンなライブラリを選択したことにより、一定のメンテナンスコストが下がりました。 CRAも剥がすことができ、Vite+Vitestという一貫性のある開発環境になりました。
どのような成果が得られたか
ビルドツールであるViteと親和性が高いこともあり、両者のライブラリアップデートのコストなどが下がりました。 また、Vitest Browser Modeなどの活用を検討しており、よりモダンな技術にチャレンジしやすくなりました。
導入時の苦労・悩み
- 対象ファイルが膨大(200+)
- モジュールモックや非同期処理など、マイグレーションガイドだけでは解決しない変更箇所
- 変化し続けるアプリケーションコードとの兼ね合い
導入に向けた社内への説明
上長・チームへの説明
プロダクト開発を滞らせることがない、極力ビジネスロジックに影響がないことを重要視しました。
活用方法
よく使う機能
- テストランナーとしてCI/CDでの実行
- ローカル環境でのテスト実行
ツールの良い点
- アプリケーションへの導入が簡単
ツールの課題点
- 特にありません
ツールを検討されている方へ
テストランナーとして、スタンダードな位置にあるので、多くを語ることはありませんが、Jestからの移行であれば、公式、非公式問わず、様々な知見がありますので、AIを使った移行作業などの相性も良いと感じました。
弊社では実際にAIを活用して置き換えました。そちらにご興味のある方はZennに投稿しておりますので、ぜひご覧ください。
今後の展望
- VitestBrowserModeなどを活用し、インタラクションテストが作れるようにできないか検討しています。
株式会社Linc’well / TakuyaTaniguchi
メンバー / フロントエンドエンジニア
株式会社Linc’well / TakuyaTaniguchi
メンバー / フロントエンドエンジニア


