feat: 添加测试框架和覆盖率报告功能
feat(测试): 新增Playwright和Vitest测试配置 feat(测试): 添加测试覆盖率报告生成功能 feat(测试): 实现前后端测试脚本集成 fix(测试): 修复测试密码不匹配问题 fix(测试): 修正URL等待策略 fix(测试): 调整错误消息选择器 refactor(测试): 重构测试目录结构 refactor(测试): 优化测试用例组织方式 docs: 更新测试报告文档 docs: 添加测试覆盖率报告模板 ci: 添加Docker测试环境配置 ci: 实现测试自动化脚本 chore: 更新依赖版本 chore: 添加测试相关配置文件
This commit is contained in:
Executable
+102
@@ -0,0 +1,102 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 测试执行汇总脚本
|
||||
# 用于在本地运行所有测试并生成汇总报告
|
||||
|
||||
set -e
|
||||
|
||||
echo "========================================="
|
||||
echo "Novalon 管理系统 - 测试执行汇总"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
|
||||
# 颜色定义
|
||||
GREEN='\033[0;32m'
|
||||
RED='\033[0;31m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 记录开始时间
|
||||
START_TIME=$(date +%s)
|
||||
|
||||
# 1. 前端单元测试
|
||||
echo -e "${YELLOW}[1/5] 运行前端单元测试...${NC}"
|
||||
cd novalon-manage-web
|
||||
if npm run test -- src/test; then
|
||||
echo -e "${GREEN}✓ 前端单元测试通过${NC}"
|
||||
FRONTEND_UNIT_STATUS="PASS"
|
||||
else
|
||||
echo -e "${RED}✗ 前端单元测试失败${NC}"
|
||||
FRONTEND_UNIT_STATUS="FAIL"
|
||||
fi
|
||||
cd ..
|
||||
|
||||
# 2. 后端单元测试 - manage-sys
|
||||
echo ""
|
||||
echo -e "${YELLOW}[2/5] 运行后端单元测试 (manage-sys)...${NC}"
|
||||
cd novalon-manage-api/manage-sys
|
||||
if mvn test -Dtest="*ServiceTest,*HandlerTest" -q; then
|
||||
echo -e "${GREEN}✓ 后端单元测试 (manage-sys) 通过${NC}"
|
||||
BACKEND_SYS_STATUS="PASS"
|
||||
else
|
||||
echo -e "${RED}✗ 后端单元测试 (manage-sys) 失败${NC}"
|
||||
BACKEND_SYS_STATUS="FAIL"
|
||||
fi
|
||||
cd ../..
|
||||
|
||||
# 3. 后端单元测试 - manage-file
|
||||
echo ""
|
||||
echo -e "${YELLOW}[3/5] 运行后端单元测试 (manage-file)...${NC}"
|
||||
cd novalon-manage-api/manage-file
|
||||
if mvn test -Dtest="*ServiceTest,*HandlerTest" -q; then
|
||||
echo -e "${GREEN}✓ 后端单元测试 (manage-file) 通过${NC}"
|
||||
BACKEND_FILE_STATUS="PASS"
|
||||
else
|
||||
echo -e "${RED}✗ 后端单元测试 (manage-file) 失败${NC}"
|
||||
BACKEND_FILE_STATUS="FAIL"
|
||||
fi
|
||||
cd ../..
|
||||
|
||||
# 4. 前端覆盖率报告
|
||||
echo ""
|
||||
echo -e "${YELLOW}[4/5] 生成前端测试覆盖率报告...${NC}"
|
||||
cd novalon-manage-web
|
||||
npm run test:coverage -- src/test
|
||||
cd ..
|
||||
|
||||
# 5. 后端覆盖率报告
|
||||
echo ""
|
||||
echo -e "${YELLOW}[5/5] 生成后端测试覆盖率报告...${NC}"
|
||||
cd novalon-manage-api/manage-sys
|
||||
mvn jacoco:report -q
|
||||
cd ../..
|
||||
|
||||
# 计算执行时间
|
||||
END_TIME=$(date +%s)
|
||||
DURATION=$((END_TIME - START_TIME))
|
||||
|
||||
# 生成汇总报告
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo "测试执行汇总报告"
|
||||
echo "========================================="
|
||||
echo "执行时间: ${DURATION}秒"
|
||||
echo ""
|
||||
echo "前端单元测试: $FRONTEND_UNIT_STATUS"
|
||||
echo "后端单元测试 (manage-sys): $BACKEND_SYS_STATUS"
|
||||
echo "后端单元测试 (manage-file): $BACKEND_FILE_STATUS"
|
||||
echo ""
|
||||
echo "覆盖率报告位置:"
|
||||
echo " - 前端: novalon-manage-web/coverage/"
|
||||
echo " - 后端 (manage-sys): novalon-manage-api/manage-sys/target/site/jacoco/index.html"
|
||||
echo " - 后端 (manage-file): novalon-manage-api/manage-file/target/site/jacoco/index.html"
|
||||
echo "========================================="
|
||||
|
||||
# 检查是否所有测试都通过
|
||||
if [ "$FRONTEND_UNIT_STATUS" = "PASS" ] && [ "$BACKEND_SYS_STATUS" = "PASS" ] && [ "$BACKEND_FILE_STATUS" = "PASS" ]; then
|
||||
echo -e "${GREEN}所有测试通过!${NC}"
|
||||
exit 0
|
||||
else
|
||||
echo -e "${RED}部分测试失败,请查看详细日志${NC}"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user