木偶+;希拉+;rspec-can';无法启用合并行为功能

木偶+;希拉+;rspec-can';无法启用合并行为功能,rspec,merge,puppet,Rspec,Merge,Puppet,我正试图用rspec测试我的puppet+hiera模块,但有一件事卡住了。 我无法使:合并行为:更深的功能在我的测试中工作。 以下是我的测试示例: require 'spec_helper' def merge_nil(a,b) if a.nil? return b end if b.nil? return a end return a.merge(b) end describe 'check' do path = F

我正试图用rspec测试我的puppet+hiera模块,但有一件事卡住了。
我无法使:合并行为:更深的功能在我的测试中工作。 以下是我的测试示例:

require 'spec_helper'
def merge_nil(a,b)
    if a.nil?
       return b
    end
    if b.nil?
       return a
    end
    return a.merge(b)
end
describe 'check' do
    path = File.expand_path(File.join(__FILE__, '..', '..', 'fixtures', 'hieradata'))
    shared_examples 'container' do |common, test|
        res = merge_nil(common['site_users'], test['site_users'])
        it do
            should contain_notify('aa').with('message' => res)
        end
    end
    context 'deeper_change' do
        let(:hiera_config) do{
            :backends => ['yaml'],
            :hierarchy => [
                'test',
                'common'],
            :yaml => {
               :datadir => path
            },
            :merge_behavior => deeper
        }
        end
        common = YAML.load_file(File.join(path,'common.yaml'))
        test = YAML.load_file(File.join(path,'test.yaml'))
        it_behaves_like "container", common, test
    end
end
hiera文件:

common.yaml: test.yaml: 在清单中,我只是通知站点用户

测试没有失败,但应该失败。因为我在函数merge\u nil的ruby代码中使用Hash.merge,并要求Hiera使用deep\u merge。结果必然不同

我试图要求“深层合并”宝石内部测试

尝试

:merge_behavior => deeper
:merge_behavior => 'deeper'
:merge_behavior => :deeper
没有什么变化 我错在哪里

p、 美国傀儡本身也能正常工作

:merge_behavior: deeper
内海拉·亚马尔

:merge_behavior => deeper
:merge_behavior => 'deeper'
:merge_behavior => :deeper
:merge_behavior: deeper