【问题标题】:Karate API Testing - Way to check that there is no null in response value空手道 API 测试 - 检查响应值是否为空的方法
【发布时间】:2019-03-08 21:41:37
【问题描述】:

我有一个巨大的响应体,看起来有点像这样,出现一个请求(例如:dept = 123):

{
"id":"7202",
"employee_name":"sammmmmmmmm",
"employee_salary":"6777",
"employee_age":"7",
"profile_image":""
}

在进行验证时,我需要检查任何关键字段值都不应为 null 作为响应。由于响应正文包含如此多的关键字段,我不想为每个键检查 notnull。

我想一次性执行此验证。有没有什么方法可以用最少的代码一两行验证?

注意:此列列表不固定。当我们更改部门 ID 时,响应会随着不同的列集而变化。我们必须使用 10-15 个不同的部门 id 对其进行验证。

【问题讨论】:

    标签: karate


    【解决方案1】:

    您可以使用 karate.forEach(k, v) 来处理每个键值对。

    * def nullFound = false
    * def fun = function(k, v){ if (!k) karate.set('nullFound', true) }
    * eval karate.forEach(response, fun)
    * match nullFound == false
    

    【讨论】:

    • 当key没有值的时候不应该是{ if (!v) karate.set('nullFound', true) }吗?
    • @deepakmathpal 我真的很困惑你认为什么是关键和价值。只需尝试两种方式,看看,它会工作:|
    • 这是因为字符串(不是空对象)它没有更早的工作。
    猜你喜欢
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多