ソフトウェアの自動テストで使う代品オブジェクト――いわゆる「 テストダブル 」の種類についてまとめました。 タイトルには「スタブ」「スパイ」「モック」の 3 つだけをあげていますが、他にも「フェイクオブジェクト」と「ダミーオブジェクト」に言及しています。 お断り この記事の説明は書籍『 xUnit Test Patterns: Refactoring Test Code 』( Gerard Meszaros 著)の定義に基づいています。 このあたりの用語の定義は人や流派によって異なります。この記事の説明が常に正しいわけではありません。 テストダブルの全体像 テストダブルの分類は次のようになっています。 テストスタブ・テストスパイ・モックオブジェクト等のテスト用の道具をまとめてテストダブルと呼びます。 テストダブルとはプログラムの中でオブジェクトや関数やモジュール(以下これらをまとめて「コン