問題タブ [chefspec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Ruby/ChefSpecコーディングスタイルに関するフィードバック
私はRubyにかなり慣れていませんが、過去2週間、Chefのテストについて多くの調査を行ってきました。このテストではChefSpecとFauxhaiを使用しますが、あまり「ルビーっぽい」ようには見えないので、コミュニティがコーディングスタイルに関するいくつかの指針を教えてくれることを期待していました。このようなネストされたループを書くためのより良い方法はありますか?
クックブック/foo/recipes/default.rb
Cookbooks / foo / spec / default_spec.rb
ありとあらゆるフィードバックを歓迎します。ありがとうございました!
ruby - include_recipe 呼び出しをスタブしてアクションを実行せず、レシピを含まれているものとしてカウントします
私のクックブックのデフォルトのレシピには、他のいくつかのレシピが含まれています。以下を使用して、適切なレシピが含まれていることをテストできることを知っています。
expect(chef_run).to include_recipe 'cookbook::recipe_name
しかし、 include_recipe 呼び出しをそのようにスタブした場合、これは機能しません
Chef::Recipe.any_instance.stub(:include_recipe).with(anything).and_return(true)
この仕様のすべてのレシピで欠落しているすべての属性を定義する必要がないように、include_recipe 呼び出しをスタブ化しています。
メソッドをスタブして返すことtrue
で、ChefSpec が実行されたと報告し、レシピが含まれていると見なすと思っていましたが、そうではありません。何か案は?
ruby - ChefSpec を使用してテンプレートに基づいてファイルの初期化をテストする
クックブックで次のテンプレート ファイルを作成しました。
私のChefSpecテストでの次のアサーション:
その結果、次のエラーが発生します。
これは、リソースではなくfile
リソースを使用しているtemplate
ためです。質問: ChefSpec を使用してテンプレート リソースからのファイル作成をテストするにはどうすればよいですか?
ruby - ChefSpec は含まれているレシピをテストすべきではありません
Jenkins CI をインストールするためのクックブックを作成しました。key
クックブックのとrepository
リソースを使用するyum
ため、次のレシピになります。
このレシピを別のレシピに含めると:
これを次のChefSpecテストでテストします
私の ChefSpec テストは、次の出力で失敗します。
(なぜバージョン 0.6.1 と表示され、gem list
3.0.2 を使用していると表示されているのかわかりません)
sp_jenkins
クックブックはクックブック (metadata.rb) に依存しており、yum
問題なく動作しますが、現在書いているクックブックはクックブックに依存していないため、利用可能なメソッドとメソッドyum
がありません。yum_key
yum_repository
ChefSpec が含まれているレシピ/クックブックに「下降」するのを防ぎ、現在のクックブックをテストする方法はありますか?
chef-infra - 環境/ロール/ノードのリファクタリング中に ChefSpec を使用するにはどうすればよいですか
クリーンアップが必要な Chef リポジトリがあります。構成データは、ノード、環境、およびロール フォルダー内のファイルに散らばっています。
私の考えは、ChefSpecを使用して、データの再構築中に回帰をテストすることです。ロールのみが ChefSpec によって直接サポートされているように見えるため、ChefSpec テストで既存のノード/環境を使用するにはどうすればよいですか?
chef-infra - NoMethodError: ChefSpec でロールをテストするときの未定義のメソッド `run_list_for'
ChefSpecでロールをテストしようとしています。私は、ChefSpec が単独で実行するよりも少し遅いという理由だけで、('chefspec/server' を要求することにより) Chef Zeroを使用したくありません。
ドキュメントの読み方が間違っているのかもしれませんが、役割をテストするために Chef Zero が必要なようには見えません。ただし、現在の構成ではうまくいきませんでした。これは私のテストです:
ロール (roles/my_role.json にあります):
テストを実行すると、次のメッセージが表示されます。
テストを変更して、必要に応じて手動でロールを Chef Zero にロードするとchefspec/server
、うまくいくようです。ドキュメントの記述方法からサーバーをモックする必要はないと思いますが、間違っている可能性があります。
私は何か間違ったことをしていますか?これはバグですか?または、Chef Zero を使用する必要がありますか?
rspec - ChefSpec テストでの「Cookbook not found」エラー
ChefSpec テストを実行しようとしています。
これは私のChefSpecテストです:
そして私のレシピです
ChefSpec テストを実行したときのエラー出力でした
何が問題なのかわかりません。Berkshelf がクックブックの依存関係を解決できると思いました。