Karatedsl JSON-架构失败,响应 "all key-values did not match"
Karatedsl JSON-Schema failed with response "all key-values did not match"
我尝试了 karatedsl 的一个功能,比如 json-schema...
例如我有一个文件 json 包含:
{
"level": "info",
"event": "biller.purchase",
"credential": "MallOn_v2",
"package": "aaaa",
"id": 41658,
"customer_id": "088810000000",
"elapsed_time": 201,
"transactionbillerid": 39124,
"paramrequest": {
"amount": "10000",
"customer_id": "088810000000",
"partner_name": "MallOn_v2"
},
"parsedresponse": {
"desc": "SUCCESS",
"rescode": "0",
"status": "success",
"transactionID": "511644294"
},
"responsecode": "00",
"price": 10000,
"amount": 10000,
"time": "2018-11-29T19:06:04.757550"
}
我和那个儿子是这样配对的:
- def json = 读取('biller_log2.json')
- 然后匹配json ==
"""
{
"level": '#string',
"event": '#string',
"credential": '#string',
"package": '#string',
"id": 'number',
"customer_id": '#string',
"elapsed_time": '#number',
"transactionbillerid": '#number',
"paramrequest": {
"amount": '#string',
"customer_id": '#string',
"partner_name": '#string'
},
"parsedresponse": {
"desc": '#string',
"rescode": '#string',
"status": '#string',
"transactionID": '#string'
},
"responsecode": '#string',
"price": '#number',
"amount": '#number',
"time": '#string'
}
"""
但是我收到消息 "reason : all key-values did not match" 的错误,如何解决??
您的模式有一个不正确的值导致了这次失败,
id
应该是 "#number"
而不是 "number"
修改后的架构:
"""
{
"level": '#string',
"event": '#string',
"credential": '#string',
"package": '#string',
"id": '#number',
"customer_id": '#string',
"elapsed_time": '#number',
"transactionbillerid": '#number',
"paramrequest": {
"amount": '#string',
"customer_id": '#string',
"partner_name": '#string'
},
"parsedresponse": {
"desc": '#string',
"rescode": '#string',
"status": '#string',
"transactionID": '#string'
},
"responsecode": '#string',
"price": '#number',
"amount": '#number',
"time": '#string'
}
"""
我尝试了 karatedsl 的一个功能,比如 json-schema... 例如我有一个文件 json 包含:
{
"level": "info",
"event": "biller.purchase",
"credential": "MallOn_v2",
"package": "aaaa",
"id": 41658,
"customer_id": "088810000000",
"elapsed_time": 201,
"transactionbillerid": 39124,
"paramrequest": {
"amount": "10000",
"customer_id": "088810000000",
"partner_name": "MallOn_v2"
},
"parsedresponse": {
"desc": "SUCCESS",
"rescode": "0",
"status": "success",
"transactionID": "511644294"
},
"responsecode": "00",
"price": 10000,
"amount": 10000,
"time": "2018-11-29T19:06:04.757550"
}
我和那个儿子是这样配对的:
- def json = 读取('biller_log2.json')
- 然后匹配json ==
"""
{
"level": '#string',
"event": '#string',
"credential": '#string',
"package": '#string',
"id": 'number',
"customer_id": '#string',
"elapsed_time": '#number',
"transactionbillerid": '#number',
"paramrequest": {
"amount": '#string',
"customer_id": '#string',
"partner_name": '#string'
},
"parsedresponse": {
"desc": '#string',
"rescode": '#string',
"status": '#string',
"transactionID": '#string'
},
"responsecode": '#string',
"price": '#number',
"amount": '#number',
"time": '#string'
}
"""
但是我收到消息 "reason : all key-values did not match" 的错误,如何解决??
您的模式有一个不正确的值导致了这次失败,
id
应该是 "#number"
而不是 "number"
修改后的架构:
"""
{
"level": '#string',
"event": '#string',
"credential": '#string',
"package": '#string',
"id": '#number',
"customer_id": '#string',
"elapsed_time": '#number',
"transactionbillerid": '#number',
"paramrequest": {
"amount": '#string',
"customer_id": '#string',
"partner_name": '#string'
},
"parsedresponse": {
"desc": '#string',
"rescode": '#string',
"status": '#string',
"transactionID": '#string'
},
"responsecode": '#string',
"price": '#number',
"amount": '#number',
"time": '#string'
}
"""