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

ReadyAPI中如何简化Groovy断言校验JSON响应指定code值的写法

Groovy接口断言优化实现

你原有断言存在逻辑缺陷:直接对完整响应字符串做包含校验,若响应其他字段意外出现目标编码会触发误判。以下是更精准、简洁的实现方案:

完整代码

import groovy.json.*

def response = context.expand( 'RequestResponseHere' )
def json = new JsonSlurper().parseText(response)
// 定义合法code取值列表,按需调整即可
def validCodeSet = ['CODE1', 'CODE2', 'CODE3', 'CODE4'] as Set
// 提取taskList下所有code值
def actualCodeSet = json._embedded.taskList*.code as Set

// 校验所有返回的code都属于合法范围,失败时直接输出非法值
assert actualCodeSet.every { it in validCodeSet } : "检测到非法code: ${actualCodeSet - validCodeSet}"

可选扩展

如果你的需求是同时要求所有合法code必须都出现在响应中,可追加以下断言:

assert validCodeSet.every { it in actualCodeSet } : "响应缺失预期code: ${validCodeSet - actualCodeSet}"

方案优势

  • 逻辑精准:直接定位taskList下的code字段校验,不受其他字段干扰
  • 维护便捷:只需修改validCodeSet即可调整合法取值范围,无需新增多行星等断言
  • 报错清晰:断言失败时直接输出不符合要求的code值,无需逐行排查问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:24:00