# ============================================================================= # Presence Service - Test Dockerfile # ============================================================================= FROM node:20-alpine # 设置工作目录 WORKDIR /app # 安装必要的系统依赖 RUN apk add --no-cache \ openssl \ libc6-compat # 复制 package.json 和 package-lock.json (不复制 node_modules) COPY package*.json ./ # 安装依赖 (在容器内安装,避免平台差异) RUN npm ci # 复制 Prisma schema COPY prisma ./prisma/ # 生成 Prisma Client RUN npx prisma generate # 复制源代码和测试代码 (忽略 node_modules) COPY src ./src/ COPY test ./test/ COPY tsconfig*.json ./ COPY jest.config.js ./ # 设置环境变量 ENV NODE_ENV=test # 默认命令:运行测试 CMD ["npm", "test"]