空手道嵌套架构包含 "Not Required" 不起作用?

Karate Nested Schema contains "Not Required" not working?

我正在尝试了解 karat 模式模糊验证包含但不工作

如果我使用 ##string 表示不需要,它会在为 null 时验证是否需要

这是我的例子

Scenario: Test

* def payload = 
"""
{
    nested: {
        field: 'not required'
    }
}
"""

    * def payload2 = 
"""
{
    nested: null
}
"""

* def schema = 
"""
{
    nested: {
        field: '##string'
    }
}
"""

* match payload contains schema
* match payload2 contains schema

我在控制台中收到此错误

path: $.nested, actual: null, expected: {field=##string}, reason: actual value is null

感谢帮助

注意结构。我认为这就是您正在尝试的:

* def part = { field: '#string' }
* def schema = { nested: '##(part)'  }

* def payload = { nested: { field: 'not required' } }
* match payload == schema

* def payload2 = { nested: null }
* match payload2 == schema

请参考文档:https://github.com/intuit/karate#schema-validation

是的,谢谢,这也有效

* def schema = 
"""
{
    'nested.field': '##string'
}
"""