タグ

chefspecとtestingに関するclavierのブックマーク (3)

  • chefspecを利用したcookbookの動作テスト · さよならインターネット

    March 26, 2013 chefspec 1.0.0.rc1 Chefのcookbookのテストどうしたらいいんだろうって悩んでいたのですが chefspecが良さそうだったので試してみました。 テストしたいことは cookbookのrecipeに書いてあることが期待通り実行されるか ホスト名やプラットフォーム別のrecipeが期待通り実行されるか この2点です。 下記のようなcookbookがあるとして cookbook/yum/recipe/default.rb template "/etc/yum.conf" do source "yum.conf.erb" owner "root" mode 0644 end file "/etc/yum/exclude.conf" do owner "root" mode 0644 only_if { node[:platform_vers

  • Cookbookテストフレームワーク「ChefSpec」 #opschef_ja - クリエーションライン株式会社

    ChefSpecはCookbookテストフレームワークです。RSpecを用いたテスト駆動開発(TDD, Test Driven Development)と呼ばれる開発手法のためのテストフレームワークで、まずテストを書き、次のそのテストをパスするコードを書き、それらを繰り返して開発を進めていくという手順を取ります。実際にCookbookをノードに適用せず、Cookbookが期待した動作を行うように記述されているかどうかをテストします。 ChefSpecのインストール gemでインストールが可能です。 なお、以前インストールできるChefSpec 0.9.0はChef 11には対応していなかったので、インストールオプションに--preをつけるか、--version '1.0.0.rc1'をつけてChefSpec 1.0.0.rc1をインストールする必要がありました(Error in runni

    Cookbookテストフレームワーク「ChefSpec」 #opschef_ja - クリエーションライン株式会社
  • chefspecチートシート - Qiita

    公私共にchefを使っていて、テストにchefspecを使っていますが、RSpec系になじみがないからか、なかなか覚えられないのでチートシートにまとめます。 詳細や正確な情報は家で確認してください。 家:https://github.com/acrmp/chefspec specを書く上での準備 nodeの設定 cookbook, role, node等でattributesを定義していて、レシピの動作結果がこれに依存している場合は、convergeより先にnodeに値をセットする必要があります。 let( :chef_run ) do chef_run = ChefSpec::ChefRunner.new do |node| node.set['my_attribute'] = 'bar' node.set['my_other_attribute'] = {'hoge' => 'ba

    chefspecチートシート - Qiita
  • 1