rwadurian/backend/services/reward-service/Makefile

94 lines
2.3 KiB
Makefile

.PHONY: install build test test-unit test-integration test-e2e test-cov test-docker-all clean docker-up docker-down lint format
# ============================================
# 基础命令
# ============================================
install:
npm install
build:
npm run build
lint:
npm run lint
format:
npm run format
clean:
rm -rf dist coverage node_modules
# ============================================
# 测试命令
# ============================================
# 单元测试 - 测试领域逻辑和值对象
test-unit:
npm test -- --testPathPatterns='src/.*\.spec\.ts$$' --verbose
# 集成测试 - 测试服务层和仓储
test-integration:
npm test -- --testPathPatterns='test/integration/.*\.spec\.ts$$' --verbose
# 端到端测试 - 测试完整API流程
test-e2e:
npm run test:e2e -- --verbose
# 覆盖率测试
test-cov:
npm run test:cov
# 运行所有测试
test-all: test-unit test-integration test-e2e
# ============================================
# Docker 测试命令
# ============================================
# 启动测试依赖服务
docker-up:
docker-compose -f docker-compose.test.yml up -d
# 关闭测试依赖服务
docker-down:
docker-compose -f docker-compose.test.yml down -v
# 在Docker中运行所有测试
test-docker-all:
docker-compose -f docker-compose.test.yml up -d
sleep 5
npm test -- --testPathPatterns='src/.*\.spec\.ts$$' --verbose || true
npm test -- --testPathPatterns='test/integration/.*\.spec\.ts$$' --verbose || true
npm run test:e2e -- --verbose || true
docker-compose -f docker-compose.test.yml down -v
# 构建测试Docker镜像
docker-build-test:
docker build -t reward-service-test:latest -f Dockerfile.test .
# 在Docker容器中运行测试
docker-run-test:
docker run --rm \
--network reward-test-network \
-e DATABASE_URL="postgresql://test:test@postgres:5432/reward_test" \
-e REDIS_HOST=redis \
-e KAFKA_BROKERS=kafka:9092 \
reward-service-test:latest
# ============================================
# 数据库命令
# ============================================
db-migrate:
npx prisma migrate dev
db-reset:
npx prisma migrate reset --force
db-seed:
npx prisma db seed
db-studio:
npx prisma studio