問題タブ [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.
rspec - シェフスペックで開いているスタブファイル
こんにちは、chefspec でテストを行っています。次のエラーが見つかりました。
の/cookbook/wordpress/recipes/default.rb
ChefSpec を実行すると、次のようになります。
スタブを追加するとdefault_spec.rb
次のエラーが表示されます。
ruby - rspec-expectations-2.99.0/lib/rspec/matchers/built_in/raise_error.rb:5: 初期化されていない定数 RSpec::Matchers::BuiltIn::RaiseError::MatchAliases
クックブック ディレクトリで rspec を実行するとエラーが出力されます。
これに基づいて require 'rspec/expectations' を使用してみましたが、役に立ちませんでした。Windows用のchefdkを使用して実行してみました。でも同じ問題
これが私の宝石リストです。C:\Users\a540409\IdeaProjects\stores-v2\chef>宝石リスト
私のspec_helper.rb:
私のdefault_spec.rb:
rvm - rvm インクルードによる ChefSpec テストの中断
そのため、Chef レシピの 1 つに対して単体テスト (ChefSpec 経由) を作成しようとしていますが、奇妙な動作が発生しています。
問題の私のレシピには rvm::system_install レシピが含まれており、どうやらこれが ChefSpec で問題を引き起こしているようです:
問題のあるコード セグメント:
これは私のテストがどのように見えるかです:
これはtheoracle::prereqs
レシピです(その一部):
chef-infra - ライブラリのテスト Chef クックブック
概要: 別のクックブックから組み込むことを意図したライブラリ クックブックをテストするにはどうすればよいでしょうか?
詳細: LWRP と、実行場所に基づいていくつかの属性を設定する最小限のデフォルト レシピを含むクックブックを作成しています。ただし、LWRP によって定義された新しいリソースは、他のクックブックから使用されることを意図しています。
たとえば、ライブラリのクックブックでは、mylib/resources/example.rb と mylib/providers/example.rb で mylib_example を定義して実装しています。「クライアント」クックブックは、たとえばclient/recipes/default.rbから次のように使用します。
ライブラリのクックブック自体からそのリソースの使用状況をテストするにはどうすればよいですか? フレームワークについては気にしていませんが、現在 Test Kitchen と Chefspec で期限切れになっています。
ruby - ループ付きのchefspecテストリソース
次の属性を持つシェフのレシピがある場合
属性に基づいて作成されるディレクトリの配列を処理するchefspecテストを作成するにはどうすればよいですか?
ご協力ありがとうございました。
rspec - apache_wrapperクックブックでchefspecを実行すると「クックブックapache_wrapperが見つかりません」
私はシェフの仕様が初めてで、クックブックで単体テストを使用する方法を理解しようとしています。私はchefdk(異なるubuntuインスタンスにv2とv3)とknife specプラグインをインストールしました。「apache_wrapper」クックブックの作成後、次のファイルを変更しました。
spec/spec_helper.rb
仕様/レシピ/default_spec.rb
私のレシピdefault.ebで:
しかし、rspec を呼び出すと、次の結果が得られました。
そしてクックブックのフォルダに Berksfile.lock が現れました。誰が私が間違っているのか教えてもらえますか?
更新:
バークスファイル:
Berksfile.lock
UPD2:
UPD3:
また、次に使用しようとしました
そして今受け取る
何を間違っているのかわかりません。今日、新しいインスタンスを開始し、そこに ruby2.1 と、chefspec などのすべての gem をインストールしました。そして今、テストを実行するためにrakeを使用していますが、それでも同じエラーが発生します
解決策: クックブック Berksfile に「メタデータ」を追加するだけです
rspec - Chef cookbook_file とテンプレート リソース: ソースが存在することをテストする方法は?
レシピでテンプレート リソースを使用する場合
そして、chefspec/rspec を使用してテストします
ソーステンプレート「バー」がクックブックにない場合でも、すべてのテストに合格します。
これにより、考えられるすべてのテストに合格するクックブックが作成されますが、実行しようとすると失敗します。cookbook_file リソースについても同じです。
リソースがソース ファイルを検索できるすべての場所をテストするのはワームの缶詰になることはわかりますが (リソース ドキュメントの「ファイル固有性」セクションに従って)、それでもテスト ツールに大きな穴があるように見えます。 .
ソースファイルの存在をテストする方法を見落としていますか、それともより基本的なレベルで何か間違っていますか? それとも、これが現状であり、誰もがそれと一緒に暮らしているのでしょうか?