From 565e60f15d34bc4801050ff404d3a30a9085b5c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=90=A6?= Date: Tue, 9 Mar 2021 16:33:10 +0800 Subject: [PATCH] =?UTF-8?q?close=20task#36554=20=E8=A7=A3=E5=86=B3-n?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E6=95=B0=E9=87=8F=E7=AD=89=E4=BA=8E{n}?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E7=9A=84=E6=95=B0=E9=87=8F=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- demo/16_from_instance.yaml | 6 +++--- src/gen/generator.go | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/demo/16_from_instance.yaml b/demo/16_from_instance.yaml index f24b72d8..26f6ca83 100644 --- a/demo/16_from_instance.yaml +++ b/demo/16_from_instance.yaml @@ -13,9 +13,9 @@ fields: use: medium # 使用该文件中定义的medium分组。 postfix: "\t" - - field: field_use_instance # 引用其他的定义文件,该文件定义了多个实例。 - from: ip.v1.yaml # yaml/ip/v1.yaml - use: privateB{5} # 使用该文件中定义的privateC和privateB两个实例。 + - field: field_use_instance # 引用其他的定义文件,该文件定义了多个实例。 + from: ip.v1.yaml # yaml/ip/v1.yaml + use: privateB{5} # 使用该文件中定义的privateC和privateB两个实例。 postfix: "\t" diff --git a/src/gen/generator.go b/src/gen/generator.go index f241def8..d4deecaf 100644 --- a/src/gen/generator.go +++ b/src/gen/generator.go @@ -128,7 +128,6 @@ func GenerateForField(field *model.DefField, withFix bool) (values []string) { values = loopFieldValues(field, unionValues, count, true) } else if field.From != "" { // refer to res - if field.Use != "" { // refer to instance groupValues := vari.Res[field.From] groups := strings.Split(field.Use, ",") @@ -163,7 +162,11 @@ func GenerateForField(field *model.DefField, withFix bool) (values []string) { if num == 0 { valuesFromGroup = groupValues[group] } else { - valuesFromGroup = groupValues[group][:num%len(groupValues[group])] + mode := num % len(groupValues[group]) + if mode == 0 { + mode = len(groupValues[group]) + } + valuesFromGroup = groupValues[group][:mode] } values = append(values, valuesFromGroup...) -- GitLab