serverspecをちょっと使ってみたメモ
serverspecをちょっと使ってみたかったので使ってみたのですよ。
環境:OS X 10.7.5 / rbenv - ruby 2.0.0-p195
Rubyの環境を作る
rbenv + ruby-buildが入った環境で以下を実行します。
$ rbenv install 2.0.0-p195 $ rbenv global 2.0.0-p195 $ gem intsall bundler
rehashしてないけどなんでbundler使えるんだろう?
Gemfileを書く
Gemfileを書きます。まあgemで直にserverspecをインストールしても良いのだろうけど。
source 'http://rubygems.org' gem 'serverspec'
書いたらbundleを実行してgemをインストールします。
$ bundle install --path vendor/bundle
テストを書く
で、serverspec-initを実行してテンプレートを作ってもらって、テストを追加します。
serverspec-initでSSHかlocalか聞かれますがとりあえずlocalを指定しました。
$ bundle exec serverspec-init
$ vim spec/localhost/vim_spec.rb
何を書こうかなーと思ったのですが、とりあえず$HOMEに.vimrcがあるかどうかをテストしてみようかと以下を書いてみました。
spec/localhost/vim_spec.rb
require 'spec_helper' describe file("#{ENV['HOME']}/.vimrc") do # OS Xだと内部で使っているらしい`stat -c`が動かないらしくて失敗する…… # it { should be_linked_to "#{ENV['HOME']}/Repos/hg/dotfiles/vim/.vimrc" } it { should be_file "#{ENV['HOME']}/.vimrc" } end
$HOMEにある.vimrcがリポジトリで管理している.vimrcにリンクされてるかどうか見たかったんですけど……
なんか動かなかったのでとりあえずファイルが存在するかどうか見ることに。
ついでにbundleなんちゃらと入力するのが辛かったのでMakefileを書く事に。
実行してみる
makeを実行してみると……
$ make /Users/sasaplus1/.rbenv/versions/2.0.0-p195/bin/ruby -S rspec spec/localhost/vimrc_spec.rb . Finished in 0.03725 seconds 1 example, 0 failures
となります。とまあ、こんな感じ。
まだちょっとしか使ってないけれど、手順を見ながら環境を作ったあとにいざ動かしてみると、実は設定が足りてなかった……とか結構あるので、これでちゃんと確認できるようになればほんとに良いものだなあと思いました。
これからもっと使って行って、使いこなしたいなー。