ForcePilot/test/run_tests.sh
Wenjie Zhang 2a3e18b444 test(tests): 添加全面的API接口测试套件
- 新增认证API测试,覆盖登录、权限验证、用户管理等关键流程
- 新增对话API测试,包含智能体调用、线程管理、工具获取及配置查询
- 新增系统API测试,涵盖系统健康检查、信息查询及配置管理权限控制
- 配置pytest支持异步测试、标记分类及详细输出
- 添加测试环境配置示例文件 .env.test.example
- 新增测试用例README文档,说明测试架构及运行方法
- 优化Makefile,添加格式化差异检查任务 format_diff
- 更新.gitignore,支持忽略测试环境配置文件 .env.test
2025-09-20 22:53:37 +08:00

105 lines
2.3 KiB
Bash
Executable File

#!/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