空手道:验证JSON响应中的特定日期

时间:2020-03-31 07:22:07

标签: karate

我需要验证JSON响应(如下所示),并检查JSON数组中的任何一项是否具有创建日期为今天的日期。

“ createdDate”实际上是作为时间戳返回的,但是我没有实际值。我唯一需要验证的是今天的日期。项目的顺序也不保证。我查看了https://intuit.github.io/karate/中指定的javascript宏,但其中没有我要执行的操作的示例。请让我知道任何建议。

{
    "items": [
      {
        "id": "...",
        "name": "...",
        "createDate": "03-30-2020:10:12:30"

      },
      {
        "id": "...",
        "name": "...",
        "createDate": "03-31-2020:10:12:30"
      }
}

1 个答案:

答案 0 :(得分:0)

在这里,一种可能的解决方案:

* def sdf = new java.text.SimpleDateFormat("MM-dd-yyyy")
* def today = sdf.format(new java.util.Date())
* def list = $response..createDate
* def fun = function(x){ return x.startsWith(today) }
* def filtered = karate.filter(list, fun)
* assert filtered.size() != 0

有关更多想法,请参见:https://stackoverflow.com/a/55938480/143475