ServerspecでOSごとにテスト項目を変える方法

Pocket

こんにちは!beardです!

Serverspecでテスト対象のOSごとにテスト項目を変える処理を実行してみます。
これとは別にHDDの容量をサーバースペックで確認する方法についても紹介します。

Serverspecのインストールと基本的な操作については、過去の記事『Amazon OSS編~Serverspecパート①~』をご覧ください。

1. 今回テストする環境
OSごとにテスト項目を切り替えたいということで以下の二つのテスト対象を用意します。CentOSではhttpdを、Ubuntuではapache2のサービスとなっております。
CentOS6.5 IPアドレス:54.64.15.205
Ubuntu14.04 IPアドレス:54.64.126.211

ディレクトリ構成とRakefileとspec_helper.rbは『Serverspecでサーバ情報をファイルに保存してテストする方法』の記事と同じです。

ubuntu-centos.ymlの内容

httpd_spec.rbbの内容

2. このようにファイルを変更した後、「rake spec」コマンドでテストを開始します。

3. 異なるOSのサーバでもひとつのコードでテストされました!

解説
Serverspecでは os[:family] を使うことでテスト対象のOSを認識して、以下のようなif文による制御も可能となっております。

いかがでしたか?
異なるOSでもひとつのコードで簡単にテストすることが可能です。

次回もお楽しみに!!