api - 只有当我的条件在空手道中得到满足时,我才能匹配响应
问题描述
如果金额大于或等于 0,我需要检查金额,然后我需要将 CreditDebitIndicator 匹配为 CREDIT 。如果金额小于零,那么我需要将 CreditDebitIndicator 匹配为借方。我已经尝试了所有方法,但我没有从文档中获得所需的信息。可以请一些帮助我解决这种情况。
我试过这种方式
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'})
我的 json 是:
{"Data": {
"Transactions": [
{`enter code here`
"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"
},
解决方案
示例代码:
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
推荐阅读
- c - 仅在第一行写入 csv 文件时出现错误的矩阵输出 [C]
- r - 使用 dcast 然后 melt 不会产生我开始使用的表(data.table 方法)
- apache - .htaccess 匹配文件,即使 URL 中没有扩展名
- java - 由于 bean 命名冲突,Spring Boot 应用程序无法运行
- amazon-web-services - 处理 Amazon ECS(蓝/绿)部署失败
- matlab - 如何导出包含多页图形的 PDF?
- html - 如何
在 pug 文件中使用? - ssl - 如何找到 Kubernetes 终止 SSL 的请求的原始协议(或端口)?
- c++ - 为什么禁止在外部声明中限定名称?
- javascript - 我已经使用 append 添加了 HTML 代码,但是这个新代码不再执行 javascript