
210
11
章 インフラストラクチャの変更のテスト
11.4.6
テストのセットアップ
皆さんは、統一性、再現性、反復可能性が重要だという話にはもううんざりしてきたことだろう。も
しそうなら、我慢して気持ちを引き締めていただきたい。これらは自動テストの本質なのである。動作
に統一性のないテストには価値はない。そのため、環境とデータの統一的なセットアップを保証するこ
とは、自動テストのキーポイントなのである。
インフラのセットアップに関連するテスト(たとえば、VMの構築と検証)では、インフラのオート
メーションは、反復可能性と統一性に実際役立つ。ここで問題が難しくなるのは、「状態」のためであ
る。そのテストは、データについて、あるいはすでに環境に加えてある構成 /設定について、どのよう
な前提条件を設けているのだろうか。
自動テストの一般原則は、個々のテストが独立しており、必要とする初期状態が保証されているこ
とである。テストはどのような順序でも実行できなければならないし、特定のテストを単独で実行する
ことができなければならない。そして、いつも同じ結果を返さなければならない。
だから、ほかのテストがすでに実行されていることを前提としたテストは書くべきでない。たとえ
ば、例11-7 はふたつのテストを示している。第1のものはウェブサーバーに nginxがインストールされ
ていることをテストし、第2のものはホームページが適切なコンテンツによってロードされることをテ
ストする。
例 11-7 密結合し過ぎているテ