モジュールモックのunitと実依存の手動テストはファイルを分離する
テスト設計
Vitest
モック
判断
運用
外部API呼び出しをモジュールモックする決定的なunit testと、料金・認証情報の都合で明示的にskipしている実依存テストを同じファイルに置くと、将来skipを解除しても実依存へ到達しないことがある。特にテスト間でモジュールレジストリを共有する構成では、動的importで取得したテスト対象がモック済み依存を保持し、見た目だけ実APIテストのまま偽の成功を返し得る。
この組み合わせでは、モジュールモックを使うunit testと実依存テストを別ファイルに分離する。unit側だけでモック登録、動的import、後処理を完結させ、入力変換や呼出回数など自分の責務境界を検証する。実依存側はテスト対象を静的importし、モジュールモックを一切登録しない。これにより、明示skipを解除した時点で本物の依存へ到達する構造を保てる。
適用対象は、同じクラスについて高速なunit testと、普段は走らせない外部API・実サービス検証を併設する場合。検証時は両ファイルを同じテスト実行で走らせ、unitが成功し実依存側がskipされること、実依存ファイルにモック登録がないことを確認する。実依存の品質までモック返却値で保証しようとせず、unitではリクエスト構築とオーケストレーションだけに責務を限定する。