問題タブ [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.

0 投票する
1 に答える
1356 参照

ruby - Ruby/ChefSpecコーディングスタイルに関するフィードバック

私はRubyにかなり慣れていませんが、過去2週間、Chefのテストについて多くの調査を行ってきました。このテストではChefSpecとFauxhaiを使用しますが、あまり「ルビーっぽい」ようには見えないので、コミュニティがコーディングスタイルに関するいくつかの指針を教えてくれることを期待していました。このようなネストされたループを書くためのより良い方法はありますか?

クックブック/foo/recipes/default.rb

Cookbooks / foo / spec / default_spec.rb

ありとあらゆるフィードバックを歓迎します。ありがとうございました!

0 投票する
2 に答える
1865 参照

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 が実行されたと報告し、レシピが含まれていると見なすと思っていましたが、そうではありません。何か案は?

0 投票する
2 に答える
2568 参照

ruby - ChefSpec を使用してテンプレートに基づいてファイルの初期化をテストする

クックブックで次のテンプレート ファイルを作成しました。

私のChefSpecテストでの次のアサーション:

その結果、次のエラーが発生します。

これは、リソースではなくfileリソースを使用しているtemplateためです。質問: ChefSpec を使用してテンプレート リソースからのファイル作成をテストするにはどうすればよいですか?

0 投票する
3 に答える
2867 参照

ruby - ChefSpec は含まれているレシピをテストすべきではありません

Jenkins CI をインストールするためのクックブックを作成しました。keyクックブックのとrepositoryリソースを使用するyumため、次のレシピになります。

このレシピを別のレシピに含めると:

これを次のChefSpecテストでテストします

私の ChefSpec テストは、次の出力で失敗します。

(なぜバージョン 0.6.1 と表示され、gem list3.0.2 を使用していると表示されているのかわかりません)

sp_jenkinsクックブックはクックブック (metadata.rb) に依存しており、yum問題なく動作しますが、現在書いているクックブックはクックブックに依存していないため、利用可能なメソッドとメソッドyumがありません。yum_keyyum_repository

ChefSpec が含まれているレシピ/クックブックに「下降」するのを防ぎ、現在のクックブックをテストする方法はありますか?

0 投票する
2 に答える
1158 参照

chef-infra - 環境/ロール/ノードのリファクタリング中に ChefSpec を使用するにはどうすればよいですか

クリーンアップが必要な Chef リポジトリがあります。構成データは、ノード、環境、およびロール フォルダー内のファイルに散らばっています。

私の考えは、ChefSpecを使用して、データの再構築中に回帰をテストすることです。ロールのみが ChefSpec によって直接サポートされているように見えるため、ChefSpec テストで既存のノード/環境を使用するにはどうすればよいですか?

0 投票する
1 に答える
2605 参照

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 を使用する必要がありますか?

0 投票する
1 に答える
2092 参照

rspec - ChefSpec テストでの「Cookbook not found」エラー

ChefSpec テストを実行しようとしています。

これは私のChefSpecテストです:

そして私のレシピです

ChefSpec テストを実行したときのエラー出力でした

何が問題なのかわかりません。Berkshelf がクックブックの依存関係を解決できると思いました。