我有以下厨师属性,我试图转换为YAML测试厨房:
default['attr1']['attr2'] = {
"setting1" => {
"key1" => "value1",
"key2" => "value2",
"key3" => false
},
};
在YAML中这会是什么样子,所以测试厨房会正确覆盖它?我想将特定测试厨房驱动程序的false值覆盖为true。
有一个类似的SO问题:Adding Attributes to Test Kitchen但是我尝试转换的属性更复杂(即值不是简单的字符串)。
答案 0 :(得分:2)
应该是
attr1:
attr2:
setting1:
key1: value1
key2: value2
key3: false
答案 1 :(得分:0)
我最好的主意,请使用irb:
irb(main):001:0> h={
irb(main):002:1* "setting1" => {
irb(main):003:2* "key1" => "value1",
irb(main):004:2* "key2" => "value2",
irb(main):005:2* "key3" => false
irb(main):006:2> },
irb(main):007:1* }
=> {"setting1"=>{"key1"=>"value1", "key2"=>"value2", "key3"=>false}}
irb(main):010:0> require 'yaml'
=> true
irb(main):011:0> h.to_yaml
=> "---\nsetting1:\n key1: value1\n key2: value2\n key3: false\n"
免责声明:我通常不使用测试厨房,也不使用yaml,所以它可能会也可能不起作用。