【问题标题】:Does Karate support If Else with Match in the same block空手道是否支持 If Else 与 Match 在同一块中
【发布时间】:2023-03-12 19:53:01
【问题描述】:

我正在尝试对我遇到的需要执行匹配的场景之一执行 If Else 条件。目前,我通过 Karate.call() 处理它,同时具有真假条件并在那里进行匹配,但将它内联对我来说会更短。我知道不建议使用条件逻辑,但这是一个例外

**Current Implementation**
* def result = (response.status == 200) ? karate.call('listinPage.feature@FilterValidationPositive', {a: response, b:dbRows}) : karate.call('listinPage.feature@FilterValidationNegative', {a: response, b:dbRows})

**Desired**
Something along :
if (response.status == 200) match response.comment == 'xyz' else match response.comment == 'abc'

【问题讨论】:

    标签: conditional-statements karate


    【解决方案1】:

    多行JS块可以使用eval关键字:

    * def value = 'before'
    * eval
    """
    if (value == 'before') {
      value = 'after'
    }
    """
    * match value == 'after'
    

    但也请阅读:https://stackoverflow.com/a/50350442/143475

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-09
      • 1970-01-01
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      • 2021-08-10
      相关资源
      最近更新 更多