如何在空手道中验证对预定义json架构的响应?

时间:2017-10-31 06:33:00

标签: json testing karate

目前用于检查答案响应IO使用以下方法:

And match response ==
"""
  {
    "status":#number,
    "message":#string
  }
"""

有没有办法像下面这样做?

And match response == someJsonSchemaDefinedInKarateConfigFile

1 个答案:

答案 0 :(得分:2)

是的,请参阅reading files上的文档。

And match response == read('my-schema.json')

(编辑):有评论要求如何在karate-config.js

中初始化这些内容

karate-config.js用于'全局'配置,我真的不建议在这里转储模式,除非你确定几乎所有的测试都会使用它。但是如果你正在阅读一个文件,它可能没问题,因为这不会是一个耗时的操作,请记住{em>每个 karate-config.js重新加载Scenario。< / p>

karate-config.js中,您可以使用karate.read()轻松加载JSON或JS文件。这应该回答你的问题:

function() {
  var config = {

  };
  config.mySchema = karate.read('classpath:my-schema.json');
  return config;
}