2016-12-12 6 views
1

tomcat(cookbook name = 'my_tomcat')をダウンロードするための料理本を書いています。 リソースはすべて(リソース名 'default.rb')を実行し、レシピはありません。 他の料理本はtomcatをダウンロードするためにこのリソースを呼び出します。シェフ:レシピなしで料理本をテストする

このtomcat料理の本をテストするには、test/cookbooks/test/recipes/default.rbにテスト料理の本を書いて、自分の料理のberksfileに依存関係を追加しました。私は台所のテストを実行すると 、それは私が私がここで間違ってやっているものを教えてくださいエラー -

================================================================================ 
Recipe Compile Error in /tmp/kitchen/cache/cookbooks/test/recipes/default.rb 
================================================================================ 

    NoMethodError 
    ------------- 
    No resource or method named `my_tomcat' for `Chef::Recipe "default"' 

    Cookbook Trace: 
    --------------- 
    /tmp/kitchen/cache/cookbooks/test/recipes/default.rb:3:in `from_file' 

    Relevant File Content: 
    ---------------------- 
    /tmp/kitchen/cache/cookbooks/test/recipes/default.rb: 

    1: package 'java-1.7.0-openjdk' 
    2: 
    3>> my_tomcat '/apps/tools/apache' do 
    4: version '7.0.32' 
    5: end 
    6: 

の下に私を与えます。 どこでも変更を加える必要がありますか?

答えて

1

あなたの料理本testは、あなたのmy_tomcat料理本に依存関係を指定しなければならないので、そのリソースは前もって読み込まれます。

+0

私はこれを私のテスト料理の中に追加しました。metadata.rb- depends 'my_tomcat' 他にも追加する必要がありますか? – user6378152

+0

私はあなたが何を他の場所に置いたか分かりません。 'Berksfile'にあなたの_test_クックブックを指し示す' cookbook'行があります。これはすでに良いスタートです。あなたのコードのより多くの部分を提供してください。 – StephenKing

+0

ソース「somesource」 メタデータ 料理本「試験」、パスライン - マイberksfile:「テスト/料理/テスト」 – user6378152

0

No resource or methodは、2つのことのいずれかを意味する可能性があります。まず、テスト料理の書籍のBerksfileにあなたの料理本の依存関係を宣言するとともに、depends 'cookbook'をテスト料理のmetadata.rbファイルに追加することを確認してください。

これが完了したら、エラーが続く場合、次に確認するのは、メインの料理本でカスタムリソースの名前を正しく指定していることです。

最初のことで問題が解決しない場合は、テスト料理のブックブックBerksfilemetadata.rbの内容を、元の質問に加えて、メインの料理本のカスタムリソースファイルの内容に追加してください。

関連する問題