首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ChefSpec -无法设置节点属性

ChefSpec -无法设置节点属性
EN

Stack Overflow用户
提问于 2014-02-13 18:39:44
回答 1查看 3.9K关注 0票数 6

对于nginx食谱,我有一个简单的测试:

代码语言:javascript
复制
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

这是失败的:

代码语言:javascript
复制
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>

我试图按照描述的在医生里设置节点属性,是否有明显的遗漏?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-13 19:13:54

您可以设置节点属性。如果您查看堆栈跟踪,它是在抱怨这一行:

代码语言:javascript
复制
expect(chef_run).to create_directory("#{node['nginx']['dir']}")

具体来说,#{node['nginx']['dir']}.您应该在这里使用一个静态值,否则测试就没有意义了。改为:

代码语言:javascript
复制
expect(chef_run).to create_directory('/etc/nginx')
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21762765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档