94 lines
2.3 KiB
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
|