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

あなたはChefSpecでFauxhaiからプラットフォームデータを設定する方法は、ソロ/ ServerRunnerコンストラクタにplatformversionオプションを渡すことです。ポイントへ

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

より多くのあなたが=を意味するとき、あなたは==を使用しています。上記のすべてを修正してください。また、ノード属性を設定するときにレベルを指定する必要があります。しかし、実際には今はFauxhaiのデータを使用してください。

+0

ご返信ありがとうございます。私はすでに私のテストでそれを持っています。申し訳ありませんが私の質問にそれを含める必要があります。私は今それを更新します。 –