You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman中如何验证不等于条件?我的测试代码未返回结果

问题:Postman测试未返回结果(验证两个ID不相等)

我需要验证API返回结果中第一个id值(1)与第二个id值(2)不相等,但使用下方测试代码后,Postman未返回任何测试结果。
API地址:https://jsonplaceholder.typicode.com/posts

错误的测试代码片段

var jsonData = JSON.parse(responseBody);
tests["First and second Ids should not be same "+jsonData[0].id] != jsonData[1].id;

API返回示例结果

[
    {
        "userId": 1,
        "id": 1,
        "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
        "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
    },
    {
        "userId": 1,
        "id": 2,
        "title": "qui est esse",
        "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
    }
]

预期结果:Postman应返回测试通过的结果(两个id确实不相等),且该代码结构能正常验证等于条件。


解决方案

问题出在测试语句的赋值逻辑上:Postman的tests对象需要将布尔值赋值给测试项来标记测试状态,原代码仅做了不等判断,却没有把结果赋值给tests的属性,导致Postman无法识别测试条目。

正确的测试代码

var jsonData = JSON.parse(responseBody);
tests["First and second Ids should not be same"] = jsonData[0].id !== jsonData[1].id;

带具体ID显示的版本(可选)

如果需要在测试名称中展示具体的ID值,可使用模板字符串:

var jsonData = JSON.parse(responseBody);
var testName = `First and second Ids should not be same (${jsonData[0].id} vs ${jsonData[1].id})`;
tests[testName] = jsonData[0].id !== jsonData[1].id;

说明

  • 将判断的布尔结果(true表示通过,false表示失败)赋值给tests对象的键,Postman才会在测试结果面板中显示该测试项,并根据布尔值标记状态。
  • 使用!==(严格不等)比!=更严谨,避免类型转换导致的意外问题。

内容的提问来源于stack exchange,提问作者Rajasubramanian SM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 04:32:46