空手道断言

问题描述 投票:0回答:1

下面的代码需要写两种断言

  1. 如果“pay_eligible”: false,则断言不合格不为空

“付款数据:{ “付款详情”:{ “pay_eligible”:假, “不合格:“平衡” } }

  1. 如果薪资资格属实,则不应填写不符合资格的信息

“付款数据:{ “付款详情”:{ “pay_eligible”:正确, } }

* if ('pay_eligible' = false) karate.assert('ineligibility': '#notnull')
conditional-statements karate assertion
1个回答
0
投票

首先,我强烈反对这样的“动态”测试,请参阅:https://stackoverflow.com/a/54126724/143475 - 换句话说,编写每个场景,以便您确切地知道响应应该是什么,并且“硬编码”它。相信我,从长远来看,它会为你减轻很多痛苦。

也就是说,这只是实现您想要的目标的一种方法。更多提示可以在这里找到:https://stackoverflow.com/a/50350442/143475

* def response = { pay_details: { pay_eligible: false, ineligibility: 'balance' } }
* def expected = { pay_details: { pay_eligible: '#boolean' } }
* expected.pay_details.ineligibility = response.pay_details.pay_eligible ? '#notpresent' : '#string'
* match response == expected

您也许可以进一步减少这个,但我把它留给您作为练习:https://stackoverflow.com/a/70055035/143475

© www.soinside.com 2019 - 2024. All rights reserved.