スタブ
すたぶ
Stub
一言でいうと
テスト時に外部依存を「決まった値を返すだけの単純な偽物」に差し替える仕組みのこと。
詳しい意味
スタブは、テスト時に外部依存を「決まった値を返すだけ」のシンプルな偽物に差し替えるテクニックです。モックと違って「呼ばれたかどうかを後から確認する」機能は持たず、「呼ばれたら必ずこの値を返す」と動作だけを置き換えます。テスト対象の処理が「特定の入力に対して正しく振る舞うか」を確認したい時に使います。実装者によって用語の使い分けは揺れますが、一般には「スタブ = 値を返す」「モック = 呼び出しの検証ができる」と区別されます。両者を含む広い概念として「テストダブル」と呼びます。
何に使うか
外部依存に「特定の値を返してほしい」状況をテストで作りたいとき。エラーケースや稀なシナリオを意図的に再現したいとき。テスト対象の動作確認だけを目的にし、依存先の呼び出し方は問わない時。
どんな時に出るか
「スタブで固定値を返す」「ここはスタブで十分」「モックじゃなくスタブで」といった場面で登場します。
具体例
- DBアクセス層をスタブに差し替えて、上位ロジックのユニットテストを書いた。
- スタブで「タイムアウト」「権限エラー」など稀なケースを意図的に再現してテストした。
別名・略称
stub(すたぶ)テストダブル(てすとだぶる)
間違えやすい語
初心者向けメモ
舞台で使う「ハリボテのケーキ」のようなものです。中身は空でも形は本物。役者の演技(テスト対象の処理)が成立すればよく、ハリボテが食べられるかは関係ありません。