-1

以下に示すように、ジェンキンスユーザーを作成するコードを持つレシピの1つにchefspecを書きたいと思います。

    jenkins_user 'test1' do
      full_name   'test user'
      email     'test1@test.com'
      password      'testp' 
    end

ここで「jenkins_user」はシェフのリソースではありません。レシピで単体テストを実行するためのchefspecを作成するにはどうすればよいですか。

または、レシピの単体テストを実行する別の方法がある場合は、親切にお知らせください。

4

1 に答える 1

1

別のクックブックで定義されているリソースを含める場合、クックブックの作成者がlibraries/matchers.rbファイルを作成していれば、ChefSpec 単体テストでそれらのマッチャーを呼び出すことができます。

たとえば、Jenkins Community Cookbookmatchers.rbを使用している場合、既にファイルがここにあることがわかります。したがって、次のような単体テストを作成できるはずです。

it 'should create the jenkins user' do
  expect(chef_run).to create_jenkins_user('test1')
end

マッチャーが定義されていないクックブックからリソースを含める場合は、独自のマッチャーを作成する必要があります。これを行うための詳細は、Tensibai がリンクしているドキュメントにあります。

于 2015-05-04T19:25:26.833 に答える