2016-09-27 56 views
1

我想测试linux-image-extra-#{node['kernel']['release']}将由我的食谱安装,我试图用Fauxhai模拟#{node['kernel']['release']。到目前为止,我已经;ChefSpec上的嘲笑内核版本

describe 'my-cookbook::recipe' do 
     let(:chef_run) { ChefSpec::SoloRunner.new(platform: 'ubuntu', version: '14.04').converge(described_recipe) } 

     before do 
      Fauxhai.mock(platform: 'ubuntu', version: '14.04') do |node| 
       node['kernel']['release'] = '3.13.0-66' 
      end 
      end 

     it 'installs linux extra image package do' 
      expect(chef_run).to install_package("linux-image-extra-#{node['kernel']['release']}-generic") 
     end 
    end 

不幸的是,它没有拿起属性,并产生一个错误,显示这一点;

Failure/Error: expect(chef_run).to install_package("linux-image-extra-#{node['kernel']['release']}-generic")

回答

0

你Fauxhai设置平台的数据与ChefSpec的方式是通过一个platformversion选项独奏/ ServerRunner构造。

let(:chef_run) { ChefSpec::SoloRunner.new(platform: 'ubuntu', version: '14.04').converge(described_recipe) } 

更重要的一点,你当你的意思是=使用==。修复上述所有问题。您还需要在设置节点属性时指定级别。但现在真的只是使用Fauxhai的数据。

+0

感谢您的回复。我已经在我的测试中了;对不起,我应该在我的问题中列入。我现在就更新它。 –