gpt4 book ai didi

chef-infra - ChefSpec - 无法设置节点属性

转载 作者:行者123 更新时间:2023-12-03 04:34:24 24 4
gpt4 key购买 nike

我对 nginx Recipe 做了一个简单的测试:

require 'spec_helper'

describe 'my_cookbook::nginx' do
let(:chef_run) do
ChefSpec::Runner.new do |node|
node.set['nginx']['dir'] = '/etc/nginx'
end.converge(described_recipe)
end

it 'should create configuration directory' do
expect(chef_run).to create_directory("#{node['nginx']['dir']}")
end

end

哪个失败了:

Failures:

1) my_cookbook::nginx should create configuration directory
Failure/Error: expect(chef_run).to create_directory("#{node['nginx']['dir']}")
NameError:
undefined local variable or method `node' for #<RSpec::Core::ExampleGroup::Nested_1:0x00000007993570>

我正在尝试按照 in the docs 的描述设置节点属性,我是否遗漏了一些明显的东西?

最佳答案

您可以设置节点属性。如果你查看堆栈跟踪,它会提示这一行:

expect(chef_run).to create_directory("#{node['nginx']['dir']}")

具体来说,#{node['nginx']['dir']}。您应该在这里使用静态值,否则您的测试毫无意义。将其更改为:

expect(chef_run).to create_directory('/etc/nginx')

关于chef-infra - ChefSpec - 无法设置节点属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21762765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com