-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 Cookbook ,您会看到这里已经有一个matchers.rb文件。因此,您应该能够像这样创建单元测试:

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

如果您包含来自未定义匹配器的食谱的资源,那么您将必须编写自己的匹配器,并且执行此操作的详细信息在 Tensibai 链接到的文档中。

于 2015-05-04T19:25:26.833 回答