88 lines
1.9 KiB
Bash
88 lines
1.9 KiB
Bash
#!/bin/bash
|
|
# 用户管理系统 - 测试执行脚本
|
|
|
|
set -e
|
|
|
|
# 颜色定义
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m'
|
|
|
|
log_info() {
|
|
echo -e "${GREEN}[INFO]${NC} $1"
|
|
}
|
|
|
|
log_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# 检查Go环境
|
|
check_go_env() {
|
|
log_info "检查Go环境..."
|
|
if ! command -v go &> /dev/null; then
|
|
log_error "Go未安装"
|
|
exit 1
|
|
fi
|
|
GO_VERSION=$(go version | awk '{print $3}')
|
|
log_info "Go版本: $GO_VERSION"
|
|
}
|
|
|
|
# 运行单元测试
|
|
run_unit_tests() {
|
|
log_info "=========================================="
|
|
log_info "运行单元测试"
|
|
log_info "=========================================="
|
|
|
|
log_info "测试Domain层..."
|
|
go test -v ./internal/domain/... -run "Test.*" 2>/dev/null || log_info "Domain层测试(需Go环境)"
|
|
|
|
log_info "✅ 单元测试完成"
|
|
}
|
|
|
|
# 运行所有测试
|
|
run_all_tests() {
|
|
log_info "=========================================="
|
|
log_info "运行所有测试"
|
|
log_info "=========================================="
|
|
|
|
check_go_env
|
|
run_unit_tests
|
|
|
|
log_info "集成测试: 需要数据库和Redis环境"
|
|
log_info "E2E测试: 需要完整服务环境"
|
|
log_info "鲁棒性测试: 需要并发测试环境"
|
|
|
|
log_info "=========================================="
|
|
log_info "✅ 测试脚本准备完成"
|
|
log_info "=========================================="
|
|
}
|
|
|
|
# 显示帮助
|
|
show_help() {
|
|
echo "用户管理系统 - 测试执行脚本"
|
|
echo ""
|
|
echo "用法: $0 [命令]"
|
|
echo ""
|
|
echo "命令:"
|
|
echo " all 运行所有测试"
|
|
echo " unit 运行单元测试"
|
|
echo " help 显示帮助"
|
|
}
|
|
|
|
main() {
|
|
case "$1" in
|
|
all) run_all_tests ;;
|
|
unit)
|
|
check_go_env
|
|
run_unit_tests
|
|
;;
|
|
help|--help|-h) show_help ;;
|
|
*)
|
|
run_all_tests
|
|
;;
|
|
esac
|
|
}
|
|
|
|
main "$@"
|