- 更新日: 2014年11月5日
- RSpec
Serverspec(RSpec)のテスト出力に色を付けて見やすくフォーマット
先日購入した WEB+DB PRESS plus の「サーバ/インフラ徹底攻略」を読み進めてるのですけど、最初のほうで .rspec の設定で出力に緑/赤の色を付けて、フォーマットを見やすくする TIPS が書いてありましたので早速試しました。
Rails プロジェクトは .rspec がデフォルトであったのですけど、Chefリポジトリ管理のディレクトリが .rspec を置いてなくて Serverspec の出力が味気なかったのでそちらで設定。Rakefile と同じディレクトリに .rspec ファイルを作成します。
— 環境 —
rspec (2.99.0)
serverspec (1.11.0)
ちなみに、Chefリポジトリのディレクトリ構成は、以下のように管理しています。git 管理です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ tree -L 1 . ├── Berksfile ├── Gemfile ├── Gemfile.lock ├── Rakefile ├── data_bags ├── environments ├── nodes ├── roles ├── site-cookbooks ├── spec └── vendor |
この Rakefile があるディレクトリに .rspec を作成します。spec が Serverspec のテストファイルを置いているディレクトリです。
.rspec 設定なしの味気ない出力
とりあえず .rspec の設定を行っていない初期状態で、Serverspec テスト実行での味気ない出力。
1 2 3 4 5 |
$ bundle exec rake serverspec:example .... Enter sudo password: |
を実行しますと…
真っ黒の点がずらずらと…………出力されるのみです。これは味気ない。
.rspec に color, format を指定
.rspec に color, format のオプションを指定してみます。
1 2 3 4 5 |
$ vi .rspec --color --format d |
再びテスト実行。
1 2 3 |
$ bundle exec rake serverspec:example |
テストを1つ実行する毎に、読みやすくフォーマットされたメッセージが色付きで出力されていきます。これは、逐一テスト実行を追って確認したい場合は便利そうです。
.rspec に color のみを指定
逐一メッセージが出力されるのは、若干鬱陶しい感じもしましたので format を外し color のみにしました。
1 2 3 4 |
$ vi .rspec --color |
この設定で再びテスト実行。
1 2 3 |
$ bundle exec rake serverspec:example |
今回のテストは全て通って成功(オールグリーン)になっていますが、Failure(失敗)があった場合は、失敗したテストのみを読みやすいドキュメントで最後に出力してくれます。
手元の Rails プロジェクトでは、RSpec を使う場合のデフォルトの .rspec はこの設定になっていました。Rails でいつも見慣れてる形式ですし、自分の場合はこの設定が好みですので、Serverspec の .rspec もこの設定にします。
- RSpec の関連記事
- FactoryGirlをSpringと共に使う時の注意
- 複数モデルのpost :createをテストするRSpecコード(Controller Spec)
- RSpec3でTime.nowをスタブ化(stub)
- RSpecでJSONによるPOSTリクエストをテスト
- RSpec & Capybara の雑感
- RSpec+Capybaraで同名の複数要素の並び順をテストする
- RSpec3ではrails_helper.rbがrequireされる
- Capybara + Launchy で RSpec テストをブラウザで確認
- CapybaraのwithinをRSpecで使う
- Serverspec で複数のホストで共通のテストを使い回す
Leave Your Message!