fix(接口测试): 修复修改引用的case的前后置操作,场景未同步的缺陷
--bug=1028019 --user=王孝刚 【测试跟踪】github#25703,测试计划关联场景,场景中引用了case, case 修改,测试计划执行未同步更新 https://www.tapd.cn/55049933/s/1396141
This commit is contained in:
parent
27b5cfc1cd
commit
785e8d75ce
|
@ -74,6 +74,7 @@ import java.io.File;
|
|||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -455,10 +456,22 @@ public class ElementUtil {
|
|||
}
|
||||
});
|
||||
|
||||
sourceList = sourceList.stream().collect(Collectors
|
||||
.collectingAndThen(
|
||||
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(MsTestElement::getId))),
|
||||
ArrayList::new));
|
||||
|
||||
//对sourceList根据id去重并且保持原有顺序
|
||||
sourceList = sourceList.stream()
|
||||
.collect(Collectors.toMap(MsTestElement::getId, Function.identity(), (oldValue, newValue) -> oldValue, LinkedHashMap::new))
|
||||
.values()
|
||||
.stream()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
//删除不需要的元素
|
||||
for (int i = 0; i < sourceList.size(); i++) {
|
||||
MsTestElement item = sourceList.get(i);
|
||||
if (!StringUtils.equals(item.getLabel(), SCENARIO_REF)
|
||||
&& targetHashTree.stream().noneMatch(target -> StringUtils.equals(target.getId(), item.getId()))) {
|
||||
sourceList.remove(i);
|
||||
}
|
||||
}
|
||||
|
||||
element.getHashTree().clear();
|
||||
element.getHashTree().addAll(sourceList);
|
||||
|
@ -508,13 +521,6 @@ public class ElementUtil {
|
|||
}
|
||||
}
|
||||
|
||||
// 添加少的步骤
|
||||
if (MapUtils.isNotEmpty(updateMap)) {
|
||||
updateMap.forEach((k, v) -> {
|
||||
sources.add(v);
|
||||
});
|
||||
}
|
||||
|
||||
// 删除多余的步骤
|
||||
for (int i = 0; i < sources.size(); i++) {
|
||||
JSONObject source = sources.get(i);
|
||||
|
|
Loading…
Reference in New Issue