問題タブ [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 に答える
3341 参照

rspec - シェフスペックで開いているスタブファイル

こんにちは、chefspec でテストを行っています。次のエラーが見つかりました。

/cookbook/wordpress/recipes/default.rb

ChefSpec を実行すると、次のようになります。

スタブを追加するとdefault_spec.rb

次のエラーが表示されます。

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

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:

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

rvm - rvm インクルードによる ChefSpec テストの中断

そのため、Chef レシピの 1 つに対して単体テスト (ChefSpec 経由) を作成しようとしていますが、奇妙な動作が発生しています。

問題の私のレシピには rvm::system_install レシピが含まれており、どうやらこれが ChefSpec で問題を引き起こしているようです:

問題のあるコード セグメント:

これは私のテストがどのように見えるかです:

これはtheoracle::prereqsレシピです(その一部):

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

chef-infra - ライブラリのテスト Chef クックブック

概要: 別のクックブックから組み込むことを意図したライブラリ クックブックをテストするにはどうすればよいでしょうか?

詳細: LWRP と、実行場所に基づいていくつかの属性を設定する最小限のデフォルト レシピを含むクックブックを作成しています。ただし、LWRP によって定義された新しいリソースは、他のクックブックから使用されることを意図しています。

たとえば、ライブラリのクックブックでは、mylib/resources/example.rb と mylib/providers/example.rb で mylib_example を定義して実装しています。「クライアント」クックブックは、たとえばclient/recipes/default.rbから次のように使用します。

ライブラリのクックブック自体からそのリソースの使用状況をテストするにはどうすればよいですか? フレームワークについては気にしていませんが、現在 Test Kitchen と Chefspec で期限切れになっています。

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

ruby - ループ付きのchefspecテストリソース

次の属性を持つシェフのレシピがある場合

属性に基づいて作成されるディレクトリの配列を処理するchefspecテストを作成するにはどうすればよいですか?

ご協力ありがとうございました。

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

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:

また、次に使用しようとしました

そして今受け取る

何を間違っているのかわかりません。今日、新しいインスタンスを開始し、そこに ruby​​2.1 と、chefspec などのすべての gem をインストールしました。そして今、テストを実行するためにrakeを使用していますが、それでも同じエラーが発生します

解決策: クックブック Berksfile に「メタデータ」を追加するだけです

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

rspec - Chef cookbook_file とテンプレート リソース: ソースが存在することをテストする方法は?

レシピでテンプレート リソースを使用する場合

そして、chefspec/rspec を使用してテストします

ソーステンプレート「バー」がクックブックにない場合でも、すべてのテストに合格します。

これにより、考えられるすべてのテストに合格するクックブックが作成されますが、実行しようとすると失敗します。cookbook_file リソースについても同じです。

リソースがソース ファイルを検索できるすべての場所をテストするのはワームの缶詰になることはわかりますが (リソース ドキュメントの「ファイル固有性」セクションに従って)、それでもテスト ツールに大きな穴があるように見えます。 .

ソースファイルの存在をテストする方法を見落としていますか、それともより基本的なレベルで何か間違っていますか? それとも、これが現状であり、誰もがそれと一緒に暮らしているのでしょうか?