karate - 空手道:验证 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"
}
}
解决方案
给你,一种可能的解决方案:
* 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
有关更多想法,请参阅:
推荐阅读
- reactjs - 如何在道具更改时重置组件中的状态
- jquery - 如何循环遍历树节点中的对象数组
- html - 如何将div背景设置为椭圆形?
- node.js - 将 Node.js CLI 从 < 7.7.0 更新到 Google 建议的 7.10.0:错误:找不到模块 'google-auth-library'
- javascript - 使用 jquery 了解选择表单中的非选定值
- android - 不推荐使用 setBottomSheetCallback
- sql - 为什么我的圆形功能无法正常工作?
- javascript - JS await 在浏览器控制台中抛出错误
- java - 即使使用 cascade=CascadeType.ALL,POST/PUT/DELETE 方法也会出现约束休眠异常
- android - Android - Jetpack 撰写缺少的参考资料