0

我有以下厨师属性,我正在尝试将其转换为 YAML 用于测试厨房:

default['attr1']['attr2'] = {
    "setting1" => {
        "key1" => "value1",
        "key2" => "value2",
        "key3" => false
    },
};

这在 YAML 中会是什么样子,所以 test-kitchen 会正确覆盖它?对于特定的测试厨房驱动程序,我想将 false 值覆盖为 true。

有一个类似的 SO 问题:Adding Attributes to Test Kitchen但我尝试转换的属性更复杂(即值不是简单的字符串)。

4

2 回答 2

2

应该

attr1:
  attr2:
    setting1:
      key1: value1
      key2: value2
      key3: false
于 2015-01-14T17:03:39.677 回答
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"

免责声明:我通常不使用 test-kitchen 或 yaml,所以它可能会也可能不会起作用。

于 2015-01-14T15:50:48.720 回答