|
|
@@ -12,19 +12,21 @@
|
|
|
|
|
|
set -e # 遇到错误立即退出
|
|
|
|
|
|
-echo "🚀 E2E 测试运行脚本"
|
|
|
+echo "E2E 测试运行脚本"
|
|
|
echo "===================="
|
|
|
echo ""
|
|
|
|
|
|
# ==================== 1. 检查数据库连接 ====================
|
|
|
|
|
|
-echo "🔍 检查数据库连接..."
|
|
|
-if docker ps | grep -q claude-code-hub-db-dev; then
|
|
|
- echo "✅ PostgreSQL 已运行"
|
|
|
+COMPOSE_FILE="docker-compose.dev.yaml"
|
|
|
+
|
|
|
+echo "检查数据库连接..."
|
|
|
+if [ -n "$(docker compose -f "$COMPOSE_FILE" ps -q --status running postgres 2>/dev/null)" ]; then
|
|
|
+ echo "PostgreSQL 已运行"
|
|
|
else
|
|
|
- echo "❌ PostgreSQL 未运行,正在启动..."
|
|
|
- docker compose up -d postgres redis
|
|
|
- echo "⏳ 等待数据库启动..."
|
|
|
+ echo "PostgreSQL 未运行,正在启动..."
|
|
|
+ docker compose -f "$COMPOSE_FILE" up -d postgres redis
|
|
|
+ echo "等待数据库启动..."
|
|
|
sleep 5
|
|
|
fi
|
|
|
|
|
|
@@ -32,14 +34,14 @@ echo ""
|
|
|
|
|
|
# ==================== 2. 启动开发服务器 ====================
|
|
|
|
|
|
-echo "🚀 启动 Next.js 开发服务器..."
|
|
|
+echo "启动 Next.js 开发服务器..."
|
|
|
|
|
|
# 后台启动服务器
|
|
|
PORT=13500 bun run dev > /tmp/nextjs-dev.log 2>&1 &
|
|
|
SERVER_PID=$!
|
|
|
|
|
|
-echo " 服务器 PID: $SERVER_PID"
|
|
|
-echo "⏳ 等待服务器就绪..."
|
|
|
+echo "服务器 PID: $SERVER_PID"
|
|
|
+echo "等待服务器就绪..."
|
|
|
|
|
|
# 等待服务器启动(最多等待 60 秒)
|
|
|
TIMEOUT=60
|
|
|
@@ -47,7 +49,7 @@ COUNTER=0
|
|
|
|
|
|
while [ $COUNTER -lt $TIMEOUT ]; do
|
|
|
if curl -s http://localhost:13500/api/actions/health > /dev/null 2>&1; then
|
|
|
- echo "✅ 服务器已就绪"
|
|
|
+ echo "服务器已就绪"
|
|
|
break
|
|
|
fi
|
|
|
|
|
|
@@ -58,7 +60,7 @@ done
|
|
|
|
|
|
if [ $COUNTER -eq $TIMEOUT ]; then
|
|
|
echo ""
|
|
|
- echo "❌ 服务器启动超时"
|
|
|
+ echo "服务器启动超时"
|
|
|
kill $SERVER_PID 2>/dev/null || true
|
|
|
exit 1
|
|
|
fi
|
|
|
@@ -67,7 +69,7 @@ echo ""
|
|
|
|
|
|
# ==================== 3. 运行 E2E 测试 ====================
|
|
|
|
|
|
-echo "🧪 运行 E2E 测试..."
|
|
|
+echo "运行 E2E 测试..."
|
|
|
echo ""
|
|
|
|
|
|
# 设置环境变量
|
|
|
@@ -83,19 +85,19 @@ echo ""
|
|
|
|
|
|
# ==================== 4. 清理并停止服务器 ====================
|
|
|
|
|
|
-echo "🧹 停止开发服务器..."
|
|
|
+echo "停止开发服务器..."
|
|
|
kill $SERVER_PID 2>/dev/null || true
|
|
|
wait $SERVER_PID 2>/dev/null || true
|
|
|
|
|
|
-echo "✅ 服务器已停止"
|
|
|
+echo "服务器已停止"
|
|
|
echo ""
|
|
|
|
|
|
# ==================== 5. 输出测试结果 ====================
|
|
|
|
|
|
if [ $TEST_EXIT_CODE -eq 0 ]; then
|
|
|
- echo "✅ E2E 测试全部通过"
|
|
|
+ echo "E2E 测试全部通过"
|
|
|
exit 0
|
|
|
else
|
|
|
- echo "❌ E2E 测试失败"
|
|
|
+ echo "E2E 测试失败"
|
|
|
exit $TEST_EXIT_CODE
|
|
|
fi
|