モック (Mock) とスタブ (Stub) の利用

定義

モック (Mock) とスタブ (Stub) の利用とは、依存先の契約をテスト用に置き換え、呼び出しを観測する代替実装である。設計上は、この意味を利用者が観測できる契約と、実装側が維持する条件へ分解する。

仕組み・規則・例

戻り値だけでなく期待する呼び出し回数や引数を検証するが、内部手順への過剰な固定を避ける。注文処理を例にすると、注文ID、現在状態、要求操作を入力とし、許可された新状態または理由付きエラーを出力する。表題の概念が関わる条件を一つの境界で検査すれば、保存方式や通信方式を変更しても意味を保てる。

具体的なテストでは正常例だけでなく、空値、境界値、重複、順序逆転、途中失敗を扱う。並行実行がある場合は、版番号や一意キーを使って競合または二重処理を検出する。

適用範囲と限界

モック (Mock) とスタブ (Stub) の利用は、名前を導入するだけでは効果がない。解決対象の変更理由が存在し、導入後に責務や依存が明確になる場合に採用する。新しい抽象、変換、永続状態には理解と運用のコストがあるため、小規模で変化しない処理では直接的な実装も比較する。性能、一貫性、拡張性の優先順位と撤回条件を記録し、実測に基づいて見直す。