Samples 运行与测试

本页介绍 macula-samples 单仓项目的运行与测试。以下命令均从仓库根目录开始,前端命令另在 Admin 目录执行。

启动前准备

确认 Macula Cloud IAM、Gateway、System 已运行,并登记 BFF 应用与管理端 OAuth Client。复制并编辑仓库根目录的 deploy/.env,然后启动 Samples 本地基础设施:

cp deploy/.env.example deploy/.env
./deploy/scripts/compose.sh config
./deploy/scripts/compose.sh up

该模式启动 MySQL、Redis、Nacos 和初始化任务,应用在 IDE 中以 local profile 运行。Java 服务不会自动加载 .env,需要覆盖的值在 IDE 中设置。

应用启动顺序

  1. Service1、Basic、OpenAPI、Thirdparty。
  2. Admin BFF。
  3. Samples Gateway。
  4. Admin 管理端。

Parent 和 API 契约模块不单独启动。Service1 通过 Flyway 管理数据库迁移。

cd macula-samples-admin
npm ci
npm run dev

浏览器访问 http://127.0.0.1:5800。Vite 的 /api 默认代理到 http://127.0.0.1:6000,登录请求直接访问外部 IAM。

后端测试

在 macula-samples 仓库根目录执行,并显式选择环境:

# Service1 及其接口契约
mvn -pl macula-samples-api,macula-samples-api/macula-samples-service1-api,macula-samples-service1 -am test -Plocal

# 全量后端测试
mvn test -Plocal

优先缩小到改动模块和所需依赖。连接 MySQL、Redis、Nacos 或 Macula Cloud 的检查需要对应环境,不将环境缺失当作业务代码失败。

管理端检查

在 Admin 目录执行:

npm run test:unit
npm run build
npm run test:e2e:ci

npm run lint 含自动修复,会修改文件,应在确认工作区状态后执行。E2E 是否使用模拟接口或真实后端,应以用例运行条件为准。

联调检查点

  • Gateway 能通过 IAM introspection 验证客户端 Token。
  • BFF、Service 等资源服务器能取得 Samples Gateway 的 JWK,验证内部 JWT。
  • BFF 的 Cloud endpoint 指向正确的 Macula Cloud 网关,用户与菜单能按登记应用返回。
  • Nacos 服务名、Gateway 路由、Feign 目标与接口契约一致。

完整应用容器运行见打包部署;配置分层见配置规范。