---
title: テストガイド
---

# テストガイド

ZCF は Vitest を使用しています。単体テストと統合テストを適切に分け、既存カバレッジを維持することを目指します。

## 実行コマンド

```bash
pnpm test           # 全テスト
pnpm test:run       # ウォッチなし
pnpm test:coverage  # V8 カバレッジ
```

## 配置

- `tests/unit/`：高速に終わる単体テスト  
- `tests/integration/`：コマンドフローや設定マージの検証  
- `tests/helpers/`：共通ヘルパー  
- `tests/fixtures/`：テスト用データ

## ベストプラクティス

- 新しいコマンド/オプションを追加したら対応するテストを用意  
- モックできる部分はモックし、副作用のある処理はフィクスチャで隔離  
- スナップショットは安定化のために正規化を入れる（改行/パス差分を吸収）  
- CLI 出力は行数やキーワードで検証し、ロケール差分に注意

## 失敗時のチェック

- Node.js バージョンと pnpm の整合性  
- 環境変数やグローバルパス依存がテストに漏れていないか  
- 並列実行による競合（ファイルパス重複）を避けるため一時ディレクトリを使う

## 参考

- [開発コマンド](architecture.md#開発の流れ)  
- [貢献ガイド](contributing.md)
