我试图让这个宝石工作,但没有太多运气。虽然这与傀儡有关,但我希望不是我的问题。
我想了解以下:rspec
if语句暗示的内容:
module RSpecHieraPuppet
module HieraDefaultConfiguration
extend RSpec::SharedContext
let(:hiera_config) do
{ :backends => ['rspec'],
:rspec => respond_to?(:hiera_data) ? hiera_data : {} } # this one
end
end
end
来源:https://github.com/amfranz/rspec-hiera-puppet/blob/master/lib/rspec-hiera-puppet/rspec.rb
有人可以澄清一下? hiera_data
的含义吗?我似乎无法在gem的源代码中找到它的任何引用。
我的理解是,从gem的示例用法来看,响应是在示例响应中观察触发器:
let(:hiera_data) do
{
:key123 => ['abc'],
}
end
但我似乎无法追踪它触发后会发生什么,因为我没有看到与负责处理此事件的rspec_backend.rb
文件的任何连接。
任何帮助追踪此处的电话都将受到赞赏。 (gem只有3个文件可供使用)
答案 0 :(得分:0)
似乎你已经定义了一个
let(:hiera_data) { {:key => 'value'} }
这将是:rspec键的值。那是因为在这种情况下,范围内的对象响应hiera_data。否则,该值将为{}。
有关respond_to语法的信息? read here
我认为这就是你所要求的。