Help us understand the problem. What is going on with this article?

Serverspecのメモ・疑問点

More than 5 years have passed since last update.

最近ChefとServerspecを始めたので、備忘録としてメモを記載。Rubyも初心者です。

解決済み

実行時の警告

describe file("/etc/yum.repos.d/epel.repo") do
  its(:content) { should match /enabled=1/ }
end

など、ファイルの中身を検証しようとすると

.CommandResult#[] is obsolete. Use accessors instead. in C:/Users/hogehoge/.vagrant.d/gems/gems/serverspec-0.12.0/lib/serverspec/type/file.rb:80:in `content'.

と警告が表示される。

(2014/03/30 追記)
serverspecのバージョンが0.12.0と古かったことが原因でした。
Vagrantのプラグインvagrant-serverspec(0.0.1)をインストールした際に一緒にインストールされるserverspecが古かったようです。
ご指摘ありがとうございました。

packageの提供しているbe_installed.byの種類

 serverspecというよりもspecinfraの話ですが、be_installed.byに指定できる引数の種類についてメモ。
 specinfra-1.0.1で確認。

  • gem
  • npm
  • pecl
  • pear
  • pip
  • cpan

 be_installed.by('bundle')とか書いても動きませんよ。(自戒)

悩み

ChefSpecとServerspec

ChefSpecを単体テスト、Serverspecを結合テストと捉えると、両方記載しないといけないんだろうけど、
Vagrantで仮想マシンを立ててchef_solo流してServerspec流して...、とやっていると、
ChefSpecServerspecで記載内容がかなり被るのもあり、ChefSpecを記載するのが億劫。というかほとんどServerspecしか書いていません、すみません。

単体テスト用のVagrantfileと結合テスト用のVagrantfileを用意して、

・単体テスト
Vagrantから1つのレシピとそれに対応するServerspecのみ実行。

・結合テスト
Vagrantから複数のレシピを組合せて実行し、Serverspecでテストする。テストコードは単体テスト用のServerspecを使いまわしつつ、結合独自のテスト観点を追加する。

みたいな開発でもいいんかなあ。

いちいち仮想マシンを起動してテストすると遅いから、CIすることを考えるとChefSpecは必要ってことなのかな?

asam316
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした