Files
ccdi/scripts/verify-param-config.sh
wkc fb537ac0f2 test(ui): 添加模型参数配置端到端测试
- 创建完整的端到端测试套件
- 添加4个测试场景,15个测试用例
- 创建测试计划和验证脚本
- 包含快速验证脚本,通过19项检查

测试覆盖:
- 页面加载和显示
- 参数修改追踪
- 保存功能
- 边界情况
2026-03-09 09:35:19 +08:00

254 lines
7.0 KiB
Bash
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 模型参数配置 - 快速功能验证脚本
# 用于手动验证端到端功能
echo "======================================"
echo "模型参数配置 - 功能验证"
echo "======================================"
echo ""
# 颜色定义
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 测试计数
PASS=0
FAIL=0
# 测试函数
test_case() {
local name=$1
local expected=$2
local actual=$3
if [ "$expected" == "$actual" ]; then
echo -e "${GREEN}${NC} $name"
((PASS++))
else
echo -e "${RED}${NC} $name"
echo " 预期: $expected"
echo " 实际: $actual"
((FAIL++))
fi
}
echo "1⃣ 检查前端代码"
echo "-------------------------------------------"
# 检查文件是否存在
if [ -f "ruoyi-ui/src/views/ccdi/modelParam/index.vue" ]; then
echo -e "${GREEN}${NC} 全局配置页面文件存在"
((PASS++))
else
echo -e "${RED}${NC} 全局配置页面文件不存在"
((FAIL++))
fi
if [ -f "ruoyi-ui/src/views/ccdiProject/components/detail/ParamConfig.vue" ]; then
echo -e "${GREEN}${NC} 项目配置页面文件存在"
((PASS++))
else
echo -e "${RED}${NC} 项目配置页面文件不存在"
((FAIL++))
fi
# 检查API方法
if grep -q "listAllParams" ruoyi-ui/src/api/ccdi/modelParam.js; then
echo -e "${GREEN}${NC} listAllParams API方法存在"
((PASS++))
else
echo -e "${RED}${NC} listAllParams API方法不存在"
((FAIL++))
fi
if grep -q "saveAllParams" ruoyi-ui/src/api/ccdi/modelParam.js; then
echo -e "${GREEN}${NC} saveAllParams API方法存在"
((PASS++))
else
echo -e "${RED}${NC} saveAllParams API方法不存在"
((FAIL++))
fi
echo ""
echo "2⃣ 检查loading状态"
echo "-------------------------------------------"
# 检查loading变量
if grep -q "loading: false" ruoyi-ui/src/views/ccdi/modelParam/index.vue; then
echo -e "${GREEN}${NC} loading状态变量已定义"
((PASS++))
else
echo -e "${RED}${NC} loading状态变量未定义"
((FAIL++))
fi
# 检查v-loading指令
if grep -q "v-loading=\"loading\"" ruoyi-ui/src/views/ccdi/modelParam/index.vue; then
echo -e "${GREEN}${NC} v-loading指令已使用"
((PASS++))
else
echo -e "${RED}${NC} v-loading指令未使用"
((FAIL++))
fi
# 检查空状态
if grep -q "暂无参数配置数据" ruoyi-ui/src/views/ccdi/modelParam/index.vue; then
echo -e "${GREEN}${NC} 空状态提示已添加"
((PASS++))
else
echo -e "${RED}${NC} 空状态提示未添加"
((FAIL++))
fi
echo ""
echo "3⃣ 检查修改追踪"
echo "-------------------------------------------"
# 检查markAsModified方法
if grep -q "markAsModified" ruoyi-ui/src/views/ccdi/modelParam/index.vue; then
echo -e "${GREEN}${NC} markAsModified方法存在"
((PASS++))
else
echo -e "${RED}${NC} markAsModified方法不存在"
((FAIL++))
fi
# 检查$set使用
if grep -q "\$set" ruoyi-ui/src/views/ccdi/modelParam/index.vue; then
echo -e "${GREEN}${NC} 使用$set确保响应式"
((PASS++))
else
echo -e "${RED}${NC} 未使用$set"
((FAIL++))
fi
# 检查修改计数
if grep -q "modifiedCount" ruoyi-ui/src/views/ccdi/modelParam/index.vue; then
echo -e "${GREEN}${NC} modifiedCount计算属性存在"
((PASS++))
else
echo -e "${RED}${NC} modifiedCount计算属性不存在"
((FAIL++))
fi
echo ""
echo "4⃣ 检查保存功能"
echo "-------------------------------------------"
# 检查保存方法
if grep -q "handleSaveAll" ruoyi-ui/src/views/ccdi/modelParam/index.vue; then
echo -e "${GREEN}${NC} handleSaveAll方法存在"
((PASS++))
else
echo -e "${RED}${NC} handleSaveAll方法不存在"
((FAIL++))
fi
# 检查saving状态
if grep -q "saving: false" ruoyi-ui/src/views/ccdi/modelParam/index.vue; then
echo -e "${GREEN}${NC} saving状态变量已定义"
((PASS++))
else
echo -e "${RED}${NC} saving状态变量未定义"
((FAIL++))
fi
# 检查按钮loading
if grep -q ":loading=\"saving\"" ruoyi-ui/src/views/ccdi/modelParam/index.vue; then
echo -e "${GREEN}${NC} 保存按钮绑定loading状态"
((PASS++))
else
echo -e "${RED}${NC} 保存按钮未绑定loading状态"
((FAIL++))
fi
echo ""
echo "5⃣ 检查后端接口"
echo "-------------------------------------------"
# 检查Mapper方法
if grep -q "selectByProjectId" ccdi-project/src/main/java/com/ruoyi/ccdi/project/mapper/CcdiModelParamMapper.java 2>/dev/null; then
echo -e "${GREEN}${NC} selectByProjectId Mapper方法存在"
((PASS++))
else
echo -e "${RED}${NC} selectByProjectId Mapper方法不存在"
((FAIL++))
fi
# 检查Service方法
if grep -q "selectAllParams" ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/ICcdiModelParamService.java 2>/dev/null; then
echo -e "${GREEN}${NC} selectAllParams Service方法存在"
((PASS++))
else
echo -e "${RED}${NC} selectAllParams Service方法不存在"
((FAIL++))
fi
# 检查Controller接口
if grep -q "listAll" ccdi-project/src/main/java/com/ruoyi/ccdi/project/controller/CcdiModelParamController.java 2>/dev/null; then
echo -e "${GREEN}${NC} listAll Controller接口存在"
((PASS++))
else
echo -e "${RED}${NC} listAll Controller接口不存在"
((FAIL++))
fi
if grep -q "saveAll" ccdi-project/src/main/java/com/ruoyi/ccdi/project/controller/CcdiModelParamController.java 2>/dev/null; then
echo -e "${GREEN}${NC} saveAll Controller接口存在"
((PASS++))
else
echo -e "${RED}${NC} saveAll Controller接口不存在"
((FAIL++))
fi
echo ""
echo "6⃣ 检查测试文件"
echo "-------------------------------------------"
# 检查测试文件
if [ -f "ruoyi-ui/tests/e2e/model-param-config.test.js" ]; then
echo -e "${GREEN}${NC} 端到端测试文件存在"
((PASS++))
else
echo -e "${RED}${NC} 端到端测试文件不存在"
((FAIL++))
fi
# 检查测试计划
if [ -f "docs/test-plans/2026-03-09-e2e-test-plan.md" ]; then
echo -e "${GREEN}${NC} 测试计划文档存在"
((PASS++))
else
echo -e "${RED}${NC} 测试计划文档不存在"
((FAIL++))
fi
echo ""
echo "======================================"
echo -e "测试结果: ${GREEN}通过 $PASS${NC} / ${RED}失败 $FAIL${NC}"
echo "======================================"
echo ""
if [ $FAIL -eq 0 ]; then
echo -e "${GREEN}✅ 所有检查项通过!${NC}"
echo ""
echo "📋 下一步:"
echo "1. 启动后端服务: mvn spring-boot:run"
echo "2. 启动前端服务: cd ruoyi-ui && npm run dev"
echo "3. 访问页面: http://localhost:80/ccdi/modelParam"
echo "4. 手动验证功能:"
echo " - 查看loading效果"
echo " - 修改参数,查看修改数量"
echo " - 保存参数,查看保存状态"
echo ""
exit 0
else
echo -e "${RED}❌ 有 $FAIL 项检查未通过${NC}"
echo ""
echo "请检查上述失败项并修复"
exit 1
fi