Api 如果我的条件在空手道中得到满足,我如何才能匹配回答
我有一个要求,我需要检查金额,如果金额大于或等于0,那么我需要匹配CreditDebitIndicator作为贷方。如果金额小于零,那么我需要将CreditDebitIndicator匹配为借记。我已经尝试了所有方法,但没有从文档中获得所需的信息。请帮我解决这个问题 我试过这样做Api 如果我的条件在空手道中得到满足,我如何才能匹配回答,api,response,matching,using,karate,Api,Response,Matching,Using,Karate,我有一个要求,我需要检查金额,如果金额大于或等于0,那么我需要匹配CreditDebitIndicator作为贷方。如果金额小于零,那么我需要将CreditDebitIndicator匹配为借记。我已经尝试了所有方法,但没有从文档中获得所需的信息。请帮我解决这个问题 我试过这样做 def store = response.Data.Transactions[0].CreditDebitIndicator And assert response.Data.Transactions[0].
def store = response.Data.Transactions[0].CreditDebitIndicator
And assert response.Data.Transactions[0].Amount.Amount <= [0]
And assert (response.Data.Transactions[0].Amount.Amount <= [0] ? { store : 'CREDIT'})
示例代码:
Feature: Validation
Scenario:
* def resp =
"""
{
"Data": {
"Transactions": [
{
"AccountId": "13315",
"TransactionId": "12345678",
"TransactionReference": "FT14112N7BH5",
"Amount": {
"Amount": "55020.00",
"Currency": "USD"
},
"CreditDebitIndicator": "CREDIT",
"Status": "Enabled",
"BookingDateTime": "2014-04-22T00:00:00+0000",
"ValueDateTime": "2014-04-22T00:00:00+0000",
"TransactionInformation": "AccountTransfer",
"BankTransactionCode": {
"Code": "NULM",
"SubCode": "NULMI"
}
},
{
"AccountId": "13315",
"TransactionId": "12345678",
"TransactionReference": "FT14112N7BH5",
"Amount": {
"Amount": "-55020.00",
"Currency": "USD"
},
"CreditDebitIndicator": "DEBIT",
"Status": "Enabled",
"BookingDateTime": "2014-04-22T00:00:00+0000",
"ValueDateTime": "2014-04-22T00:00:00+0000",
"TransactionInformation": "AccountTransfer",
"BankTransactionCode": {
"Code": "NULM",
"SubCode": "NULMI"
}
}
]
}
}
"""
* def fun = function(x){return (parseFloat(x)>=0 ? "CREDIT" : "DEBIT"); }
* def cdind = get resp.Data.Transactions[*].CreditDebitIndicator
* def amount = get resp.Data.Transactions[*]..Amount.Amount
* def amountind = karate.map(amount, fun)
* match cdind == amountind
请格式化你的json我应该如何格式化我的json和任何解决我上述问题的方法problem@RaghuNarayanaSwamy如果您仍然被卡住,请遵循以下流程:
Feature: Validation
Scenario:
* def resp =
"""
{
"Data": {
"Transactions": [
{
"AccountId": "13315",
"TransactionId": "12345678",
"TransactionReference": "FT14112N7BH5",
"Amount": {
"Amount": "55020.00",
"Currency": "USD"
},
"CreditDebitIndicator": "CREDIT",
"Status": "Enabled",
"BookingDateTime": "2014-04-22T00:00:00+0000",
"ValueDateTime": "2014-04-22T00:00:00+0000",
"TransactionInformation": "AccountTransfer",
"BankTransactionCode": {
"Code": "NULM",
"SubCode": "NULMI"
}
},
{
"AccountId": "13315",
"TransactionId": "12345678",
"TransactionReference": "FT14112N7BH5",
"Amount": {
"Amount": "-55020.00",
"Currency": "USD"
},
"CreditDebitIndicator": "DEBIT",
"Status": "Enabled",
"BookingDateTime": "2014-04-22T00:00:00+0000",
"ValueDateTime": "2014-04-22T00:00:00+0000",
"TransactionInformation": "AccountTransfer",
"BankTransactionCode": {
"Code": "NULM",
"SubCode": "NULMI"
}
}
]
}
}
"""
* def fun = function(x){return (parseFloat(x)>=0 ? "CREDIT" : "DEBIT"); }
* def cdind = get resp.Data.Transactions[*].CreditDebitIndicator
* def amount = get resp.Data.Transactions[*]..Amount.Amount
* def amountind = karate.map(amount, fun)
* match cdind == amountind