是否可以在条件语句中使用 karate 'match' ?

Is it possible to use karate 'match' inside conditional statement?

在此处查找示例。

def a = condition ? " karate match statement " : "karate match statement"

有没有可能做这样的事情??

这不是推荐的测试做法,因为 tests should be deterministic

正确的做法是:

  • 精心设计您的请求,使响应 100% 可预测。不要担心代码重复,这是
  • 忽略与 Scenario
  • 无关的动态数据
  • 使用 conditional logic 设置“期望值”变量而不是使您的 match 逻辑复杂化
  • 对 JSON
  • 的特定部分使用 self-validation expressions or schema-validation expressions
  • 使用 if 关键字和 - 或者您甚至可以设置文件名以通过变量动态调用
  • 在某些情况下karate.abort()可用于有条件地跳过/提前退出

也就是说,如果你真的坚持在相同流程中这样做,空手道允许你在 0.9.6.RC4 之后通过 JS 做 match .

有关详细信息,请参阅此线程:https://github.com/intuit/karate/issues/1202#issuecomment-653632397

karate.match()的结果将return一个JSON的形式{ pass: '#boolean', message: '#string' }

如果上述选项中的 none 有效 - 这意味着您正在做一些 非常 复杂的事情,所以 write Java interop / code 来处理这个