-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun-all-tests.bat
More file actions
114 lines (100 loc) · 3.6 KB
/
Copy pathrun-all-tests.bat
File metadata and controls
114 lines (100 loc) · 3.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
@echo off
:: =============================================================================
:: API Codegen 全面测试检查脚本 (Windows)
:: =============================================================================
:: 用法: run-all-tests.bat
:: =============================================================================
setlocal enabledelayedexpansion
:: 颜色定义 (Windows CMD 不支持直接颜色,用前缀替代)
set RED=[ERROR]
set GREEN=[OK]
set BLUE=[INFO]
set YELLOW=[WARN]
echo.
echo ======================================================================
echo API Codegen 全面测试检查
echo ======================================================================
echo.
:: 设置 JDK 21
if exist "C:\Program Files\Java\jdk-21.0.10" (
set JAVA_HOME=C:\Program Files\Java\jdk-21.0.10
set PATH=%JAVA_HOME%\bin;%PATH%
)
:: 统计变量
set PASSED_TESTS=0
set FAILED_MODULES=0
:: -----------------------------------------------------------------------------
:: 1. Maven 后端测试
:: -----------------------------------------------------------------------------
echo [1/3] 运行 Maven 后端测试...
call mvn test -DskipTests=false -q > mvn-test-output.txt 2>&1
if %ERRORLEVEL%==0 (
echo [OK] Maven 测试通过
for /f "tokens=2 delims=:" %%a in ('findstr "Tests run:" mvn-test-output.txt ^| findstr /v "api-codegen-maven-plugin"') do (
if not "%%a"=="" echo %%a
)
) else (
echo [ERROR] Maven 测试失败
set /a FAILED_MODULES+=1
)
echo.
:: -----------------------------------------------------------------------------
:: 2. Web UI Core bridge contract 测试
:: -----------------------------------------------------------------------------
echo [2/3] 运行 Web UI Core bridge contract 测试...
cd web-ui
node test/core-bridge-test.js > ui-core-bridge-output.txt 2>&1
if %ERRORLEVEL%==0 (
echo [OK] Web UI (core-bridge) 测试通过
for /f "tokens=2" %%a in ('findstr "通过:" ui-core-bridge-output.txt') do (
echo %%a
)
) else (
echo [ERROR] Web UI (core-bridge) 测试失败
set /a FAILED_MODULES+=1
)
cd ..
echo.
:: -----------------------------------------------------------------------------
:: 3. Web UI 单元测试 (diff)
:: -----------------------------------------------------------------------------
echo [3/3] 运行 Web UI 单元测试 (diff ^& render)...
cd web-ui
node test/diff-test.js > ui-diff-output.txt 2>&1
if %ERRORLEVEL%==0 (
echo [OK] Web UI (diff) 测试通过
for /f "tokens=2" %%a in ('findstr "Passed:" ui-diff-output.txt') do (
echo %%a
)
) else (
echo [ERROR] Web UI (diff) 测试失败
set /a FAILED_MODULES+=1
)
node test/render-test.js > ui-render-output.txt 2>&1
if %ERRORLEVEL%==0 (
echo [OK] Web UI (render) 测试通过
for /f "tokens=2" %%a in ('findstr "通过:" ui-render-output.txt') do (
if not "%%a"=="" echo %%a
)
) else (
echo [ERROR] Web UI (render) 测试失败
set /a FAILED_MODULES+=1
)
cd ..
echo.
:: -----------------------------------------------------------------------------
:: 测试结果汇总
:: -----------------------------------------------------------------------------
echo.
echo ======================================================================
echo 测试结果汇总
echo ======================================================================
echo.
if %FAILED_MODULES%==0 (
echo [OK] 所有测试通过!
del /q mvn-test-output.txt web-ui\ui-core-bridge-output.txt web-ui\ui-diff-output.txt web-ui\ui-render-output.txt 2>nul
exit /b 0
) else (
echo [ERROR] 有 %FAILED_MODULES% 个模块测试失败
exit /b 1
)