| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- @echo off
- REM 一键跑核心业务测试:书籍 大纲 → 内容 → 音频 完整链路(Windows 版本)
- REM 用法:
- REM scripts\run-core-business-test.bat
- REM set SKIP_SERVER=1 ^&^& scripts\run-core-business-test.bat
- setlocal EnableDelayedExpansion
- set "ROOT_DIR=%~dp0.."
- pushd "%ROOT_DIR%" >nul
- if "%BACKEND_URL%"=="" set "BACKEND_URL=http://127.0.0.1:3000"
- if "%FRONTEND_URL%"=="" set "FRONTEND_URL=http://127.0.0.1:5173"
- if "%SKIP_SERVER%"=="" set "SKIP_SERVER=0"
- echo ==========================================
- echo 核心业务测试:书籍 大纲-^>内容-^>音频
- echo ==========================================
- echo BACKEND_URL=%BACKEND_URL%
- echo FRONTEND_URL=%FRONTEND_URL%
- echo SKIP_SERVER=%SKIP_SERVER%
- echo ==========================================
- if "%SKIP_SERVER%"=="0" (
- echo [1/4] 检查后端...
- curl -sf "%BACKEND_URL%/health" >nul 2>&1 && (echo ^>^> 后端已就绪 & goto :chk_frontend)
- echo ^>^> 启动后端...
- start /B cmd /c "cd server && npx tsx src/app.ts > %TEMP%\core-test-backend.log 2>&1"
- timeout /t 30 /nobreak >nul
- curl -sf "%BACKEND_URL%/health" >nul 2>&1 || (
- echo X 后端启动失败
- type %TEMP%\core-test-backend.log
- exit /b 1
- )
- echo ^>^> 后端就绪
- :chk_frontend
- echo [2/4] 检查前端...
- curl -sf "%FRONTEND_URL%" >nul 2>&1 && (echo ^>^> 前端已就绪 & goto :run_test)
- echo ^>^> 启动前端...
- start /B cmd /c "cd my-uniapp-vue3 && npm run dev:h5 > %TEMP%\core-test-frontend.log 2>&1"
- timeout /t 60 /nobreak >nul
- curl -sf "%FRONTEND_URL%" >nul 2>&1 || (
- echo X 前端启动失败
- type %TEMP%\core-test-frontend.log
- exit /b 1
- )
- echo ^>^> 前端就绪
- )
- :run_test
- echo [3/4] 检查 Playwright...
- if not exist "node_modules\@playwright\test" (
- echo ^>^> 安装依赖...
- call npm install --no-audit --no-fund
- )
- echo [4/4] 运行核心业务测试...
- set BACKEND_URL=%BACKEND_URL%
- set FRONTEND_URL=%FRONTEND_URL%
- call npx playwright test --project=core-business --config=tests\playwright.config.ts --reporter=list
- set "EXIT_CODE=%ERRORLEVEL%"
- echo ==========================================
- if "%EXIT_CODE%"=="0" (
- echo OK 核心业务链路全部通过
- ) else (
- echo X 核心业务链路失败(exit=%EXIT_CODE%)
- echo 报告位置:tests\test-results\report
- )
- echo ==========================================
- popd >nul
- exit /b %EXIT_CODE%
|