はじめに
参考
Axlsx とは
こちらの記事を受け売りになってしまうが、以下のような特徴がある。
- Office Open XML Spreadsheet の生成ツール
- Excel をはじめ、OpenOffice などの各オフィスアプリケーションで閲覧することのできる表計算データを作成することが出来る
xlsx形式をサポートする(従来のxlsはサポートされていないかも)
Hello World
早速、Hello World してみる。
実行すると以下のような結果が Excel ファイルで出力される。

Axlsx を使って serverspec の結果を Excel に出力する
こちらを参考に serverspec のテスト結果を同じように Excel ファイルに出力出来ないか試してみた。
準備
Gem のインストール
以下のように必要な Gem をインストールする。
sudo gem install axlsx --no-ri --no-rdoc -V sudo gem install serverspec --no-ri --no-rdoc -V
テストする環境を用意する
LXC でテストをする環境をコンテナで用意する。用意したコンテナは以下のような構成。
spec_helper.rb を修正する
以下のように serverspec 側の spec_helper.rb に関して axlsx を扱えるように修正する。
spec ファイルを作成
以下のような spec ファイルを作成する。
serverspec-init を実行した後に生成される httpd_spec.rb をそのまま流用した。
実行
コマンドラインから
rake spec
を実行すると、以下のようにテストが終了する。

Excel ファイルに出力された結果を確認する
result.xlsx という Excel ファイルに出力されたテスト結果を確認してみる。

おお、それっぽく出力されている。
テストを失敗させてみる
テストするコンテナの Apache を止めたりしてテストでわざと失敗させてみる。

上記のように Failure/Error: it { should be_listening } のテストでエラーとなっているので、結果を result.xlsx で確認すると...

ちゃんと記録されている。
ということで
Axlsx について
spreadsheet同様に手軽にExcelファイルを作ることが出来た- また、examplesに掲載れているように普段使いでは十分すぎる位の機能があるようなので適宜試していきたい
serverspec の結果を Excel で出力することについて
- ニーズはありそうな気がする
- 今回、複数のホストを一気に試したが
Excelの出力が思ったように(ヘッダにホスト名を入れたかった等...)出来なかった... spec_helper.rbに大幅に手を入れることになってしまったのが、個人的には気持ち悪いので別の方法が無いかも模索中