2017-10-17 120 views
1

我在github上找到了下面的例子。在Karate DSL中,我如何使用其他數據類型(如int,float,Big等)的替換文本?

  • 高清文字= '世界你好再見'

  • 替換文本 |令牌|值| | one | '殘酷'| |兩個| '好'|

  • 匹配文本==「你好殘酷的世界再見」

如果我想更換隻能接受整數或其他數據類型的值?例如,

  • 替換文字 |令牌|值| |小時| 90 | |價格| 123.45 | |數量| 999999999999 |

我無法將令牌放在另一個文件中,因爲json驗證器不喜歡沒有雙引號的<>。有什麼建議麼?

回答

1

替換是指文本不是JSON,請仔細閱讀文檔。首先,是與數字和替換沒有問題:

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

現在,如果你試圖用JSON亂動,只使用set關鍵字。

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

請注意,即使您省略第一行,上述操作也會起作用。另請參閱嵌入式表達式作爲在JSON中替換值的另一種方式,請參閱文檔。

相關問題