@echo off REM 用户管理系统 - Windows测试执行脚本 echo ========================================== echo 用户管理系统 - 测试执行脚本 echo ========================================== REM 颜色定义 chcp 65001 >nul :menu echo. echo 请选择测试类型: echo 1. 运行所有测试 echo 2. 运行单元测试 echo 3. 运行集成测试 echo 4. 运行E2E测试 echo 5. 运行鲁棒性测试 echo 6. 生成覆盖率报告 echo 7. 运行性能基准测试 echo 8. 运行竞态检测 echo 0. 退出 echo. set /p choice=请输入选项(0-8): if "%choice%"=="1" goto all_tests if "%choice%"=="2" goto unit_tests if "%choice%"=="3" goto integration_tests if "%choice%"=="4" goto e2e_tests if "%choice%"=="5" goto robust_tests if "%choice%"=="6" goto coverage if "%choice%"=="7" goto benchmark if "%choice%"=="8" goto race if "%choice%"=="0" goto end goto menu :check_go echo [INFO] 检查Go环境... where go >nul 2>&1 if %errorlevel% neq 0 ( echo [ERROR] Go未安装 pause exit /b 1 ) goto :eof :all_tests call :check_go echo ========================================== echo 运行所有测试 echo ========================================== call :unit_tests echo [INFO] ✅ 所有测试准备完成 echo ========================================== pause goto menu :unit_tests call :check_go echo ========================================== echo 运行单元测试 echo ========================================== echo [INFO] 测试Domain层... go test -v ./internal/domain/... -run "Test.*" echo [INFO] ✅ 单元测试完成 pause goto menu :integration_tests call :check_go echo ========================================== echo 运行集成测试 echo ========================================== echo [INFO] 测试集成层... go test -v ./internal/integration/... -run "Test.*" echo [INFO] ✅ 集成测试完成 pause goto menu :e2e_tests call :check_go echo ========================================== echo 运行端到端测试 echo ========================================== echo [INFO] 测试E2E流程... go test -v ./internal/e2e/... -run "Test.*" echo [INFO] ✅ 端到端测试完成 pause goto menu :robust_tests call :check_go echo ========================================== echo 运行鲁棒性测试 echo ========================================== echo [INFO] 测试鲁棒性... go test -v ./internal/robustness/... -run "Test.*" echo [INFO] ✅ 鲁棒性完成 pause goto menu :coverage call :check_go echo ========================================== echo 运行测试并生成覆盖率报告 echo ========================================== go test -v -coverprofile=coverage.out ./... go tool cover -html=coverage.out -o coverage.html echo [INFO] 覆盖率报告已生成: coverage.html go tool cover -func=coverage.out echo [INFO] ✅ 覆盖率测试完成 pause goto menu :benchmark call :check_go echo ========================================== echo 运行性能基准测试 echo ========================================== go test -bench=. -benchmem ./internal/domain/... echo [INFO] ✅ 性能基准测试完成 pause goto menu :race call :check_go echo ========================================== echo 运行竞态检测 echo ========================================== go test -race ./... echo [INFO] ✅ 竞态检测完成 pause goto menu :end echo 退出测试脚本 exit /b 0