代码之家  ›  专栏  ›  技术社区  ›  MKod

空手道框架-在场景中使用条件逻辑“if then else”的正确方法是什么?

  •  1
  • MKod  · 技术社区  · 6 年前



    1 How to check additional values with if condition (using karate framework)?

    https://github.com/intuit/karate#conditional-logic

    在尝试了不同的组合之后,我仍然没有成功,我也没有找到其他的方法来让我的场景工作。为了更好的可见性和理解,我附上了截图。

    conditional logic issue in karate


    *def output4 = (z.d.data == output2.c.data ? {pass:true} : {pass:false})

    我在期待我的成果- 输出4 {"pass":true}

    不知什么原因,我的设想与我的期望相反。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Peter Thomas    6 年前

    编辑:请不要在将来做这样的例子截图,更容易阅读和粘贴代码尝试。

    在JavaScript中不能对两个数组执行equals操作,这就是为什么Karate的“deep equals” match 是需要的。

    * def foo = { data: [] } 
    * def bar = { data: [] }
    
    # wrong
    * def result = foo.data == bar.data ? { pass: true } : { pass: false }
    * match result == { pass: false }
    
    # right
    * def result = karate.match(foo.data, bar.data).pass ? { pass: true } : { pass: false }
    * match result == { pass: true }