| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #!/bin/bash
- # Epic 9 稳定性测试脚本
- # 运行残疾人管理核心测试 10 次,验证稳定性
- # 测试范围:37个核心测试(photo、bankcard、note、visit、crud)
- # 配置
- RUNS=10
- PROJECT_ROOT="/mnt/code/188-179-template-6"
- WEB_DIR="${PROJECT_ROOT}/web"
- PASSED=0
- FAILED=0
- TIMES=()
- # 切换到 web 目录
- cd "${WEB_DIR}" || exit 1
- echo "========================================="
- echo "Epic 9 稳定性验证测试"
- echo "========================================="
- echo "运行次数: ${RUNS}"
- echo "测试范围: 残疾人管理核心测试 (37 个测试)"
- echo " - disability-person-photo.spec.ts (8 测试)"
- echo " - disability-person-bankcard.spec.ts (8 测试)"
- echo " - disability-person-note.spec.ts (8 测试)"
- echo " - disability-person-visit.spec.ts (10 测试)"
- echo " - disability-person-crud.spec.ts (16 测试)"
- echo "并行模式: 4 workers"
- echo "开始时间: $(date)"
- echo ""
- echo "========================================="
- echo ""
- # 运行测试
- for i in $(seq 1 ${RUNS}); do
- echo "=== 运行 #${i}/${RUNS} ==="
- START=$(date +%s)
- # 运行测试(4 workers 并行)- 只运行核心测试文件
- if pnpm test:e2e:chromium admin/disability-person-photo.spec.ts admin/disability-person-bankcard.spec.ts admin/disability-person-note.spec.ts admin/disability-person-visit.spec.ts admin/disability-person-crud.spec.ts --workers=4; then
- PASSED=$((PASSED + 1))
- echo "✅ 运行 #${i} 通过"
- else
- FAILED=$((FAILED + 1))
- echo "❌ 运行 #${i} 失败"
- fi
- END=$(date +%s)
- DURATION=$((END - START))
- TIMES+=($DURATION)
- echo "⏱️ 耗时: ${DURATION}s"
- echo ""
- done
- # 计算统计数据
- TOTAL=$((PASSED + FAILED))
- PASS_RATE=$((PASSED * 100 / TOTAL))
- AVG_TIME=$(awk '{sum+=$1} END {print sum/NR}' <<< "${TIMES[@]}")
- MIN_TIME=$(printf "%s\n" "${TIMES[@]}" | sort -n | head -1)
- MAX_TIME=$(printf "%s\n" "${TIMES[@]}" | sort -n | tail -1)
- # 输出结果
- echo "========================================="
- echo "稳定性测试结果"
- echo "========================================="
- echo "通过: ${PASSED}/${TOTAL} (${PASS_RATE}%)"
- echo "失败: ${FAILED}/${TOTAL}"
- echo ""
- echo "执行时间统计:"
- echo " 平均: ${AVG_TIME}s"
- echo " 最快: ${MIN_TIME}s"
- echo " 最慢: ${MAX_TIME}s"
- echo ""
- echo "结束时间: $(date)"
- echo "========================================="
- # 判断结果
- if [ $PASSED -eq $TOTAL ]; then
- echo ""
- echo "🎉 Epic 9 稳定性验证通过!100% 成功率!"
- echo "✅ Epic 9 可以标记为完成"
- exit 0
- else
- echo ""
- echo "⚠️ 稳定性不足,需要修复失败的测试"
- echo "❌ 请分析失败原因并修复后重新运行"
- exit 1
- fi
|