5
У меня есть простой тест для Nginx поваренной книги:ChefSpec - Невозможно установить узел атрибуты
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 , есть ли что-то очевидное, что мне не хватает?
Непосредственно от автора! Спасибо, Сет! –
Сет, то почему это работает для меня ** ожидать (chef_run) .то create_directory ("# {Chef :: Config [: file_cache_path]}/JDK /") ** Но у меня есть проблемы с моим по умолчанию атрибут. Я ожидаю, что ресурсы, которые обернуты вокруг IF, будут выполнены, но это не так. Атрибут my node установлен в TRUE, но при запуске RSpec он терпит неудачу. Настоящий тест (кухонный тест) в порядке. – Lukino