【问题标题】:Postman test for empty dictionary value of json name邮递员测试json名称的空字典值
【发布时间】:2017-10-19 17:57:16
【问题描述】:

如何为特定 JSON 名称对的空值编写测试。例如我有这个 JSON:

{
    "data": {
        "sectionGroupName": "PPConfig:APIMethod",
        "sections": {}
    },
    "success": true,
    "errorMessage": ""
}

我想检查部分是否为空,就像在这种情况下一样。我还有其他成功的测试是这样写的:

tests["Status code is 200"] = responseCode.code === 200;
var body = JSON.parse(responseBody);
tests["Success Response"] = body.success === true;
tests["No Error message"] = body.errorMessage === "";
tests.Data = body.data.sectionGroupName === "PPConfig:APIMethod";

但我无法找到成功的测试代码来检查特定名称的值是否为空字典。有人可以帮我举个例子吗?

【问题讨论】:

    标签: json postman


    【解决方案1】:

    您可以获取sections的属性列表并测试其长度。

    let sectionKeys = Object.keys(body.data.sectionGroupName)
    if(sectionKeys.length){
      //Proceed with section
    } else {
      //Proceed when it's empty
    }
    

    Object.keys()

    【讨论】:

      【解决方案2】:

      来自this link 检查它是否是字典(使用你的“部分”作为 v)

      function isDict(v) {
          return !!v && typeof v==='object' && v!==null && !(v instanceof Array) && !(v instanceof Date) && isJsonable(v);
      }
      

      然后检查它是否为空(来自this other link)使用:

      function isEmpty(obj) { 
         for (var x in obj) { return false; }
         return true;
      }
      

      应该可以的

      【讨论】:

        猜你喜欢
        • 2021-03-06
        • 2019-05-14
        • 1970-01-01
        • 2021-09-01
        • 2017-02-21
        • 2020-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多