Files
wehub-resource-sync 1443d3fdf9
Ruff Format Check / Ruff Format & Lint (push) Failing after 7m39s
Deploy VitePress site to Pages / build (push) Failing after 9m11s
Deploy VitePress site to Pages / Deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:32:26 +08:00

88 lines
1.8 KiB
Bash

#!/bin/bash
set -euo pipefail
echo "Yuxi 测试运行器"
echo "========================"
PYTEST_CMD=("docker" "compose" "exec" "api" "uv" "run" "--group" "test" "pytest")
check_server() {
echo "检查测试服务器状态..."
if curl -s http://localhost:5050/api/system/health > /dev/null 2>&1; then
echo "✓ 测试服务器运行正常"
return 0
fi
echo "✗ 警告: 测试服务器未运行或无法访问"
echo " 请先执行 docker compose up -d 并确认 api-dev 健康"
return 1
}
run_unit_tests() {
echo "运行单元测试..."
"${PYTEST_CMD[@]}" test/unit -m "not slow"
}
run_integration_tests() {
echo "运行集成测试..."
check_server
"${PYTEST_CMD[@]}" test/integration
}
run_e2e_tests() {
echo "运行端到端测试..."
check_server
"${PYTEST_CMD[@]}" test/e2e -m e2e
}
run_all_tests() {
echo "运行全部测试..."
check_server
"${PYTEST_CMD[@]}" test
}
show_help() {
echo "用法: $0 [选项]"
echo ""
echo "选项:"
echo " unit - 运行单元测试"
echo " integration - 运行集成测试"
echo " e2e - 运行端到端测试"
echo " all - 运行全部测试"
echo " check - 检查测试服务"
echo " help - 显示此帮助"
echo ""
echo "示例:"
echo " $0 unit"
echo " $0 integration"
echo " $0 e2e"
echo " $0 all"
}
case "${1:-all}" in
"unit")
run_unit_tests
;;
"integration")
run_integration_tests
;;
"e2e")
run_e2e_tests
;;
"all")
run_all_tests
;;
"check")
check_server
;;
"help"|"-h"|"--help")
show_help
;;
*)
echo "未知选项: $1"
show_help
exit 1
;;
esac