Files
user-system/run_tests.sh

88 lines
1.9 KiB
Bash
Raw Normal View History

#!/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 "$@"