如何在后台定义请求模板

时间:2019-04-02 11:18:54

标签: karate

我有一个跨多个方案大纲使用的请求模板,每个方案大纲中的示例都不同。

例如:
方案大纲:1
* def query = {名称:<名称>}
---做其他事情---
例子:
|名称|
|鲍勃|
| ram |
 
方案大纲:2
* def查询= {名称:<名称>}
---做其他事情---

例子:
|名称|
|前|
 
如何避免在每个方案大纲中重复查询定义?在后台定义它并在大纲请求中重用它并不是根据示例中的值动态构建请求。

1 个答案:

答案 0 :(得分:1)

我个人认为您可能会过度设计。对于测试来说,一定程度的重复是可以的-特别是在提高可读性的地方。另请参阅以下答案:https://stackoverflow.com/a/54126724/143475

也就是说-您可以像这样切换到loop data-driven style

Scenario Outline: 1 
* table data = 
| name  |
| 'bob' |
| 'ram' |
* call read('second.feature') data

second.feature中,您可以这样做:

* def query = { name: '#(name)' }

如果要避免使用第二个功能文件,则唯一的其他选择是:https://stackoverflow.com/a/55192450/143475