はじめに
参考
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
に大幅に手を入れることになってしまったのが、個人的には気持ち悪いので別の方法が無いかも模索中