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

Postman使用switch语句编写HTTP状态码测试提示无可用测试的问题

解决Postman测试提示「无可用测试」的问题

我帮你捋清楚问题出在哪,以及怎么快速修复:

核心问题点

  • 测试未被Postman识别:Postman要求所有测试逻辑必须包裹在pm.test()方法中,不然工具会判定没有可用测试用例
  • 变量未正确赋值:你定义了statMessages但没给它赋值,根本没拿到实际的响应状态码,等于在空变量上做判断
  • 状态码类型不匹配:Postman返回的响应状态码是数字类型(比如200、500),但你的case用了字符串('200'),会导致匹配失败

修正后的测试代码

// 定义测试用例,第一个参数是测试名称,第二个参数是测试逻辑
pm.test("根据状态码返回对应提示", function () {
    // 获取实际的响应状态码
    const statusCode = pm.response.code;
    let statMessage;

    switch (statusCode) {
        case 200:
            statMessage = '200 Ok';
            break;
        case 500:
            statMessage = 'Internal Server Error.';
            break;
        case 503:
            statMessage = 'Service unavailable.';
            break;
        default:
            statMessage = `未匹配到状态码: ${statusCode}`;
    }

    // 打印提示到控制台
    console.log(statMessage);
    // 加上断言让测试有明确的通过/失败状态(可选但推荐)
    pm.expect(statMessage).to.not.be.empty;
});

额外小提示

  • 如果非要用字符串类型的状态码,可以把pm.response.code转成字符串:const statusCode = pm.response.code.toString();,对应的case就用字符串('200')
  • 写完代码后记得保存测试脚本,再点击「运行」,就能正常识别到测试用例了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:15:14