ForcePilot/test/run_tests.sh

105 lines
2.3 KiB
Bash
Raw Normal View History

#!/bin/bash
# 测试脚本运行器
# 提供快速运行不同类型测试的方法
echo "Yuxi-Know API 测试运行器"
echo "========================"
# 检查测试服务是否运行
check_server() {
echo "检查测试服务器状态..."
curl -s http://localhost:5050/api/system/health > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "✓ 测试服务器运行正常"
return 0
else
echo "✗ 警告: 测试服务器未运行或无法访问"
echo " 请确保服务器在 http://localhost:5050 运行"
return 1
fi
}
# 运行所有测试
run_all_tests() {
echo "运行所有API测试..."
uv run pytest test/api/ -v
}
# 运行认证测试
run_auth_tests() {
echo "运行认证API测试..."
uv run pytest test/api/test_auth_api.py -v
}
# 运行系统测试
run_system_tests() {
echo "运行系统API测试..."
uv run pytest test/api/test_system_api.py -v
}
# 运行对话测试
run_chat_tests() {
echo "运行对话API测试..."
uv run pytest test/api/test_chat_api.py -v
}
# 运行快速测试(只测试基础功能)
run_quick_tests() {
echo "运行快速测试(基础功能)..."
uv run pytest test/api/ -v -m "not slow"
}
# 显示帮助
show_help() {
echo "用法: $0 [选项]"
echo ""
echo "选项:"
echo " all - 运行所有测试"
echo " auth - 运行认证测试"
echo " system - 运行系统测试"
echo " chat - 运行对话测试"
echo " quick - 运行快速测试(排除慢速测试)"
echo " check - 检查服务器状态"
echo " help - 显示此帮助"
echo ""
echo "示例:"
echo " $0 all # 运行所有测试"
echo " $0 quick # 快速测试"
echo " $0 check # 检查服务器"
}
# 主逻辑
case "${1:-all}" in
"all")
check_server
run_all_tests
;;
"auth")
check_server
run_auth_tests
;;
"system")
check_server
run_system_tests
;;
"chat")
check_server
run_chat_tests
;;
"quick")
check_server
run_quick_tests
;;
"check")
check_server
;;
"help"|"-h"|"--help")
show_help
;;
*)
echo "未知选项: $1"
show_help
exit 1
;;
esac