首页 > 解决方案 > 空手道:验证 JSON 响应中的特定日期

问题描述

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

“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"
      }
}

标签: karate

解决方案


给你,一种可能的解决方案:

* 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

https://stackoverflow.com/a/52892797/143475


推荐阅读