mirror of
https://github.com/CJackHwang/ds2api.git
synced 2026-05-04 16:35:27 +08:00
112 lines
2.5 KiB
Bash
Executable File
112 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# DS2API 测试运行器
|
|
|
|
set -e
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
echo "=================================================="
|
|
echo " 🧪 DS2API 测试套件"
|
|
echo "=================================================="
|
|
echo ""
|
|
|
|
# 颜色
|
|
GREEN='\033[0;32m'
|
|
RED='\033[0;31m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m'
|
|
|
|
# 检查服务是否运行
|
|
check_service() {
|
|
echo -e "${YELLOW}检查服务状态...${NC}"
|
|
if curl -s http://localhost:5001/ > /dev/null 2>&1; then
|
|
echo -e "${GREEN}✅ 服务运行中${NC}"
|
|
return 0
|
|
else
|
|
echo -e "${RED}❌ 服务未运行${NC}"
|
|
echo "请先启动服务: python dev.py"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# 运行单元测试
|
|
run_unit_tests() {
|
|
echo ""
|
|
echo "=================================================="
|
|
echo " 📋 单元测试"
|
|
echo "=================================================="
|
|
python3 -m pytest tests/test_unit.py -v --tb=short 2>/dev/null || python3 tests/test_unit.py
|
|
}
|
|
|
|
# 运行 API 测试
|
|
run_api_tests() {
|
|
echo ""
|
|
echo "=================================================="
|
|
echo " 🌐 API 集成测试"
|
|
echo "=================================================="
|
|
python3 tests/test_all.py "$@"
|
|
}
|
|
|
|
# 运行账号测试
|
|
run_account_tests() {
|
|
echo ""
|
|
echo "=================================================="
|
|
echo " 🔑 账号测试"
|
|
echo "=================================================="
|
|
python3 tests/test_accounts.py --all
|
|
}
|
|
|
|
# 显示帮助
|
|
show_help() {
|
|
echo "用法: $0 [选项]"
|
|
echo ""
|
|
echo "选项:"
|
|
echo " unit 只运行单元测试"
|
|
echo " api 只运行 API 测试"
|
|
echo " api --quick 快速 API 测试"
|
|
echo " accounts 只运行账号测试"
|
|
echo " all 运行所有测试"
|
|
echo " help 显示此帮助"
|
|
echo ""
|
|
echo "示例:"
|
|
echo " $0 unit"
|
|
echo " $0 api --quick"
|
|
echo " $0 all"
|
|
}
|
|
|
|
# 主逻辑
|
|
case "${1:-all}" in
|
|
unit)
|
|
run_unit_tests
|
|
;;
|
|
api)
|
|
if check_service; then
|
|
shift
|
|
run_api_tests "$@"
|
|
fi
|
|
;;
|
|
accounts)
|
|
run_account_tests
|
|
;;
|
|
all)
|
|
run_unit_tests
|
|
echo ""
|
|
if check_service; then
|
|
run_api_tests --quick
|
|
fi
|
|
;;
|
|
help|--help|-h)
|
|
show_help
|
|
;;
|
|
*)
|
|
echo "未知选项: $1"
|
|
show_help
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
echo ""
|
|
echo "=================================================="
|
|
echo " ✨ 测试完成"
|
|
echo "=================================================="
|