如何在Bruno的bru语言中校验响应体是否为有效JSON
如何在Bruno中验证响应为有效JSON
Bruno的测试系统基于Chai断言库,你可以通过以下几种方式验证响应是否为有效JSON:
方法一:利用自动解析的异常特性
Bruno的res.getBody()方法会自动尝试将响应体解析为JSON,若响应不是有效JSON则会抛出错误。我们可以通过断言这个操作不会抛出异常来完成验证:
test("Response is valid JSON", function() { expect(() => res.getBody()).not.to.throw(); });
方法二:结合Content-Type头(更严谨)
如果需要更全面的验证,可以先检查响应的Content-Type头是否符合JSON类型,再验证解析是否成功:
test("Response is valid JSON", function() { // 验证响应头标识为JSON类型 expect(res.getHeader("Content-Type")).to.include("application/json"); // 验证响应体可被解析为有效JSON expect(() => res.getBody()).not.to.throw(); });
方法三:手动try-catch捕获错误
你也可以用try-catch的方式手动处理解析失败的情况:
test("Response is valid JSON", function() { try { res.getBody(); } catch (error) { expect.fail("响应不是有效JSON格式"); } });
内容的提问来源于stack exchange,提问作者Placeprom
相关产品推荐
相关产品推荐

