1

我正在使用 chef inspec 在下面的 json 文件中验证注释是否等于 Test。

"imdata": [
    {
        "aaaPwdStrengthProfile": {
            "attributes": {
                "annotation": "Test",
            }
        }
    }
]

尝试使用以下脚本但出现错误

describe json('C:/output.json') do
  its(['imdata','aaaPwdStrengthProfile','attributes','annotation']) { should eq 'Test' }
end
4

1 回答 1

3

在您尝试测试的 JSON 文件中,imdata是一个数组[]。嵌套字典{ .. }是该数组的第一个元素 (0)。

我根据您的问题将 JSON 数据创建为/tmp/sample.json. 因此,inspec 测试应参考'imdata', 0,,如下所示:

describe json('/tmp/sample.json') do
  its(['imdata', 0, 'aaaPwdStrengthProfile', 'attributes', 'annotation']) { should eq 'Test' }
end
于 2021-02-24T10:51:58.030 回答