Files
everything-is-suitable/scripts/check-test-baseline.sh
T
张翔 08ea5fbe98 feat(admin): 添加用户管理相关文件
添加用户管理视图、API和状态管理文件
2026-03-28 14:37:29 +08:00

73 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
set -e
echo "======================================"
echo "测试基线质量检查"
echo "======================================"
echo ""
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
API_BASELINE_PASSED=238
API_BASELINE_RATE=100
FRONTEND_BASELINE_PASSED=386
FRONTEND_BASELINE_TOTAL=627
FRONTEND_BASELINE_RATE=61.6
echo "1. 检查API测试..."
cd everything-is-suitable-test/api
API_RESULT=$(python -m pytest tests/unit/ -v --tb=short 2>&1 | tail -5)
API_PASSED=$(echo "$API_RESULT" | grep -oP '\d+(?= passed)' || echo "0")
API_FAILED=$(echo "$API_RESULT" | grep -oP '\d+(?= failed)' || echo "0")
if [ "$API_PASSED" -eq "$API_BASELINE_PASSED" ] && [ "$API_FAILED" -eq "0" ]; then
echo -e "${GREEN}✅ API测试通过率保持100%${NC}"
else
echo -e "${RED}❌ API测试通过率下降!${NC}"
echo "基线: $API_BASELINE_PASSED passed"
echo "当前: $API_PASSED passed, $API_FAILED failed"
exit 1
fi
echo ""
echo "2. 检查前端单元测试..."
cd ../../everything-is-suitable-admin
FRONTEND_RESULT=$(npm run test 2>&1 | grep -E "passed|failed|Test Files" | tail -5)
FRONTEND_PASSED=$(echo "$FRONTEND_RESULT" | grep -oP '\d+(?= passed)' || echo "0")
FRONTEND_FAILED=$(echo "$FRONTEND_RESULT" | grep -oP '\d+(?= failed)' || echo "0")
FRONTEND_TOTAL=$((FRONTEND_PASSED + FRONTEND_FAILED))
if [ "$FRONTEND_PASSED" -ge "$FRONTEND_BASELINE_PASSED" ]; then
FRONTEND_RATE=$(echo "scale=1; $FRONTEND_PASSED * 100 / $FRONTEND_TOTAL" | bc)
echo -e "${GREEN}✅ 前端测试通过率保持≥61.6%${NC}"
echo "通过率: $FRONTEND_RATE%"
else
echo -e "${RED}❌ 前端测试通过率下降!${NC}"
echo "基线: $FRONTEND_BASELINE_PASSED/$FRONTEND_BASELINE_TOTAL ($FRONTEND_BASELINE_RATE%)"
echo "当前: $FRONTEND_PASSED/$FRONTEND_TOTAL"
exit 1
fi
echo ""
echo "3. 检查E2E测试..."
E2E_RESULT=$(npx playwright test --reporter=list 2>&1 | grep -E "passed|failed" | tail -5)
E2E_PASSED=$(echo "$E2E_RESULT" | grep -oP '\d+(?= passed)' || echo "0")
E2E_FAILED=$(echo "$E2E_RESULT" | grep -oP '\d+(?= failed)' || echo "0")
if [ "$E2E_PASSED" -ge "48" ]; then
echo -e "${GREEN}✅ E2E测试通过数≥48${NC}"
else
echo -e "${YELLOW}⚠️ E2E测试通过数下降${NC}"
echo "基线: 48 passed"
echo "当前: $E2E_PASSED passed"
fi
echo ""
echo "======================================"
echo -e "${GREEN}✅ 测试基线质量检查通过${NC}"
echo "======================================"