在空手道 DSL 中,如何使用替换文本来替换其他数据类型,如 int、float、Big 等?

In Karate DSL, how can I use the replace text for other data types such as int, float, Big, etc.?

我在 github 上找到了下面的例子。

如果我要替换的值只能接受整数或其他数据类型怎么办?例如,

我无法将令牌放入另一个文件中,因为 json 验证器不喜欢没有双引号的 <>。有什么建议么?

替换是针对非 JSON 的文本,请仔细阅读文档。首先数字没有问题,替换为:

* def text = 'hello <name> how many <hours>'
* replace text
    | token  | value    |
    | name   | 'John'   |
    | hours  | 200      |
* match text == 'hello John how many 200'

现在,如果您尝试 fiddle 和 JSON,只需使用 set 关键字。

* def json = { hello: '', hours: null }
* set json
    | path   | value    |
    | hello  | 'John'   |
    | hours  | 200      |
* match json == { hello: 'John', hours: 200 }

请注意,即使您省略了第一行,上面的内容仍然有效。另请参阅嵌入式表达式作为替代 JSON 中值的另一种方法,请参阅文档。