如何在空手道语言中参数化外部保存的sql查询



我有一种情况,我需要使用DB和我存储所有查询外部为。txt。我想用不同的迭代执行这些查询,因此我使用场景大纲。

我想知道什么是更好的方法来实现这一点。目前,我正在使用下面的代码,但需要为所有参数重复替换代码。
SELECT REWARDS_POINTS
FROM ABC Table
WHERE IS_ACTIVE = <active>
AND DISCOUNT_TYPE = <discount>
AND PRODUCT_TYPE = <product>


Scenario Outline: sample
* def query = read("classpath:priceQuery.txt")
* replace query.active = <active>
* replace query.discount = <discount>
* replace query.product = <product>
* print 'query is > ', query
Examples:
|discount|active|product|
|   5     |1|toy|

我认为这样很好。你也可以这样做,参考docs: https://github.com/intuit/karate#replace

* replace query
| token    | value    |
| active   | active   |
| discount | discount |
| product  | product  |

但是请注意,replace只是内置在空手道中的便利。您可以轻松编写JS或Java实用程序并使用它。因此,假设您已经定义了一个名为prepare()的可重用函数,该函数可以检索变量,例如使用karate.get(),甚至使用karate.set()进行更新,您可以这样结束:

* def query = prepare('classpath:priceQuery.txt')

有很多选择。这取决于你的空手道知识和一些创造力。

相关内容

  • 没有找到相关文章

最新更新