2016-09-27 53 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

感謝您的回覆。我已經在我的測試中了;對不起,我應該在我的問題中列入。我現在就更新它。 –