1、最外层复制场景
前端页面:
点击复制,选择目标用例集、版本,点击确定
即:将原始vid、目标vid传到后台,按此信息新增scene并返回sid(一个),新增pressnode并返回得到pid list(待补完)
【插用例】
对pid遍历,每个pid:
SELECT * FROM `case` WHERE pid = '127'
查一个节点里有多少个用例,此时得到caseList,copy得到newCaseList
遍历newcaselist,每个case:
set方法:id = null;scene_id = sid;pid = pid
遍历完后得到修改过的newcaselist,调insert插进数据库,返回id得到新的主键列表newCaseIdList
【插步骤】
对于原caselist,遍历,getId获取每个用例的主键
SELECT * FROM step WHERE case_id = '2392'
查到stepList
遍历,case_id改为newCaseIdList的id,id=null
把此steplist调insert插入数据库
大概代码思路:
for (int i = 0 ; i < caselist.size(); i++){
Case case = caselist[i];
//SELECT * FROM step WHERE case_id = case.getId;
List<Step> stepList = selectByCid(case.getId);
//caselist和newcaselist是一对一的,把每个i对应的cid改成new的
for(int j = 0 ; j < stepList.size(); j++){
stepList[j].setCid(newCaseIdList[i]);
}
insert(stepList);
}