
12.7
コンポーネント間のインターフェイスを管理するためのプラクティス
245
れているテストインスタンスは、古いテストデータで汚れている。これは自動テストに悪影響を与え、
テストシステムは本番システムを適切に表現できなくなってしまう。
自動テストスイートは、実行するときに必要なテストデータをセットアップしなければならない。本
番データのスナップショットをロードすることができるかもしれないが、自動テストは、自分で明示的
に作っていないデータについて前提条件を設けてはならない。そうでなければ、テストの統一的な実
行を保証できなくなる。
サードパーティシステムの本番インスタンスとの間でテストを実行できることがある。コンシューマ
がほかのシステムのデータを書き換えないなら、これは間違いなくよいことだ。たとえば、DNSなど
のルックアップを提供する外部サービスを使っている場合、インテグレーションテストのための特別な
テストサーバーを用意する意味はあまりない。
コンシューマテストが生成するデータが簡単に分離できるときにも、本番システムとのインテグレー
ションテストを実行してよい。たとえば、モニタリングサービスでは、コンシューマのテストインスタ
ンスは、別環境のタグを付け、重要ではないものとして構成 /設定することができる。こうすれば、本
番システムのモニタリングデータは、テストシステムのデータからはっきりと区別できる。
12.7
コンポーネント間のインターフェイスを管理するためのプ
ラクティス
独立にデプロイできる