groovy - Groovy 构建变量名
问题描述
我有带有循环的 SoapUI groovy 测试步骤。在每个循环中,我想检查变量是否包含数字,例如 1。
例如:
- “订单管理”的启动循环
- 将“订单管理”更改为“订单管理”
- 检查变量“order_management”是否包含来自变量“ppp”的值
- 写:“成功!”
我试图制作这个脚本,但它不起作用:
def order_management = [1,3,5]
def customer_management = [2,6,3]
def document_management = [1,3,2]
def list = ['order-management', 'customer-management', 'document-management']
list.each {
def ppp = 1
if (("${it}".replace("-","_")).contains(ppp)) {
log.info ("Success!")
}
}
解决方案
def order_management = [1,3,5]
只是脚本中局部变量的声明,您不能按名称将局部变量作为属性访问。
您可以将所有 *-management 数据放入地图中:
def data=[
'order-management' : [1,3,5],
'customer-management' : [2,6,3],
'document-management' : [1,3,2],
]
并避免使用replace("-","_")
保持键的-
标志
最后,您的代码可能如下所示:
def data=[
'order-management' : [1,3,5],
'customer-management' : [2,6,3],
'document-management' : [1,3,2],
]
def ppp = 1
data.each{k,v->
if ( v.contains(ppp)) {
println ("found $ppp in $k")
}
}
推荐阅读
- javascript - 当组件异步更改其道具时如何重新渲染组件?
- restructuredtext - 使用 csv-table 指令的 reStructuredText 表中的多行单元格
- azure - 在 Azure DevOps 中下降后如何跳过给定的发布阶段
- angular - 如何保存用户表单值
- java - 如何在片段中而不是在活动中使用 NavController(在片段中带有 NavHost)?
- django - 从根目录在 Django 中加载静态图像的最佳方法
- javascript - 如何将以下内容转换为有效的 JSON?
- templates - 有没有办法使用树枝模板从 Grav 中的 YAML 前端动态选择值?
- javascript - setInterval 在函数中使用时不起作用
- javascript - 如何让这个在类函数中不为空?