代码之家  ›  专栏  ›  技术社区  ›  Naguib Ihab

不管值是多少,对字符串的测试都将通过

  •  2
  • Naguib Ihab  · 技术社区  · 6 年前

    这个测试 pm.expect(jsonData.payload.invitationStatus == "A"); 无论价值如何, invitationStatus 实际上包含。

    payload.invitationStatus = E 将通过测试。

    只有当值为a时,我如何才能让它通过?

    下面是两个有效载荷示例:

    {
        "payload": {
            "buyer": "",
            "error": "E",
            "invitationStatus": "E",
            "supplier": "",
            "terms": ""
        }
    }
    
    {
        "payload": {
            "buyer": "omitted omitted",
            "error": "S",
            "invitationStatus": "A",
            "supplier": "ABC Supplier",
            "terms": ""
        }
    }
    

    这是测试本身:

    // Setters
    let jsonData = JSON.parse(responseBody);
    
    // Testers
    pm.test("Status code is 200", function () {
        pm.response.to.have.status(200);
    });
    pm.test("Invitation status is A", function () {
        if(jsonData.payload) {
            pm.expect(jsonData.payload.invitationStatus == "A");
        } else {
            throw new Error("Unexpected structure");
        }
    });
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Naguib Ihab    6 年前

    我不确定为什么 == 不起作用,但这起作用了 pm.expect(jsondata.payload.invitationstatus).to.eql(“a”);

    这是其他邮差测试示例的好资源 https://www.getpostman.com/docs/v6/postman/scripts/test_examples

    enter image description here

    这是其他邮递员测试示例的一个很好的资源 https://www.getpostman.com/docs/v6/postman/scripts/test_examples