TEST-RESULTS-v12.md 11 KB

CFC 测试记录 v12

日期: 2026-07-07 分支: cfclub (47 commits ahead of origin/master) 同步范围: origin/cfclub~47..origin/cfclub (2026/7/2 - 2026/7/7)


一、同步内容摘要

1.1 新增功能模块

模块 提交数 主要文件 测试覆盖
供应商销售体系 ~10 commits Supplier/SupplySystem/SupplyRelationship/SupplySettlement 实体 + Service + Controller + SupplySystem.vue ✅ 新增 SupplySystemServiceTest.java
食材推荐指数 5 commits FoodRecommendIndex/FoodRecommendIdxLog 实体 + Service + Controller ✅ 新增 FoodRecommendServiceTest.java
文章活动工作流 8 commits ArticleService (submitForReview/withdraw/reDraft), ActivityAdminService 状态机 ✅ 新增 ArticleWorkflowTest.java
健康报告 Phase 2 3 commits HealthReportService.matchConfidence, auto-create member, MemberMatchResult DTO ⚠️ 待补充
测评结果扩展 2 commits dan_assessment_results 新增 familyMember/EMI/BigFive/snapshot 字段 ⚠️ 待补充
中西星座能量 1 commit ZodiacAnnualEnergyService (Western astrology + Chinese zodiac) ⚠️ 待补充
Web 管理端增强 10+ commits 全局搜索、HealthEnergyConfig.vue、ActivityEdit.vue 表单校验 ⚠️ 待 E2E

1.2 关键文件变更统计

后端 (cfc-backend):  ~50 个文件
  - 新增实体: Supplier, SupplySystem, SupplyRelationship, SupplySettlement, SupplySettlementItem,
              FoodRecommendIndex, FoodRecommendIdxLog
  - 新增/修改 Service: SupplySystemService, SupplySettlementService, FoodRecommendService,
                       ArticleService (workflow), ActivityAdminService, ZodiacAnnualEnergyService
  - 新增 Controller: SupplySystemController, SupplySettlementController, FoodRecommendController
  - 数据库迁移: supply_system_schema.sql, schema.sql (多表新增/字段变更)

前端 (cfc-frontend): ~30 个文件
  - 页面: body/food-list.vue, health/report-*, action/index.vue, mind/index.vue 等
  - 组件: ContactImport, DimensionActivities, tab-transition

Web 管理端 (cfc-web): ~30 个文件
  - 新增页面: SupplySystem.vue, HealthEnergyConfig.vue
  - 修改页面: Activities.vue, ActivityEdit.vue, ArticleManage.vue, ProductEdit.vue

1.3 数据库迁移

迁移 内容
迁移25 activities 表添加审核相关字段
迁移31 family_members 表添加子级特定字段、id_card、role_override、default_role、relationship_score
迁移32 供应商体系表 (4张新表 + product_orders 3列)
迁移33 supply_system 表 + product_orders 补充字段
迁移34 health_reports 补 subject_id 列
迁移36 food_recommend_idx / food_recommend_idx_log 表

二、新增测试用例

2.1 后端单元测试 (Java)

文件 覆盖方法数 状态
SupplySystemServiceTest.java (新增) 14 个测试方法 ✅ 已创建
FoodRecommendServiceTest.java (新增) 10 个测试方法 ✅ 已创建
ArticleWorkflowTest.java (新增) 12 个测试方法 ✅ 已创建
ActivityServicePublishTest.java (原有) 6 个测试方法 ✅ 已存在
ProductServiceTest.java (原有) 10+ 个测试方法 ✅ 已存在
DimensionScoreServiceTest.java (原有) 15+ 个测试方法 ✅ 已存在
DimensionEnergySyncServiceTest.java (原有) 5 个测试方法 ✅ 已存在

新增单元测试覆盖方法:

  • SupplySystemService: getAllSystems, getActiveSystems, createSystem, updateSystem, toggleStatus (ACTIVE↔INACTIVE), getSuppliers, createSupplier (设置默认ACTIVE+时间戳), updateSupplier, deleteSupplier (先删关联), getRelationsByProduct, getRelationsBySupplier, createRelationship, removeRelationshipByProduct
  • FoodRecommendService: recalculateForUser (无报告清除/无适宜度清除/新增索引/指数变更创建日志/报告移除清理), getIndexByUser, getIndexHistory, getByFamily (多成员聚合)
  • ArticleService workflow: submitForReview (draft→pending), withdraw (published→withdrawn), reDraft (rejected→draft 清空审核信息) 各5个边界场景

2.2 API 集成测试 (v11_test.js 更新)

测试ID 端点 验证内容
SUPPLY-01 POST /api/admin/supply-system/create 创建供应商体系
SUPPLY-02 POST /api/admin/supply-system/list 列出所有体系
SUPPLY-03 POST /api/admin/supply-system/toggle-status 切换状态 ACTIVE↔INACTIVE
SUPPLY-04 POST /api/admin/supply-system/supplier/create 创建供应商
SUPPLY-05 POST /api/admin/supply-system/supplier/list 按体系查供应商
SUPPLY-06 POST /api/admin/supply-system/supplier/update 更新供应商
SUPPLY-07 POST /api/admin/supply-system/supplier/delete 删除供应商
FOOD-REC-01 POST /api/food/recommendation/index 获取用户食材推荐指数
FOOD-REC-02 POST /api/food/recommendation/by-family 按家庭获取推荐指数
ARTICLE-WF-00 POST /api/admin/articles/create 创建文章(workflow测试准备)
ARTICLE-WF-01 POST /api/admin/articles/submit-for-review 提交文章审核 (draft→pending)
ARTICLE-WF-02 (需发布状态) 撤回文章 (published→withdrawn)
ARTICLE-WF-03 (需驳回状态) 重新编辑 (rejected→draft)

2.3 E2E 测试更新

文件 新增场景 状态
article-management.spec.js 场景4: 创建草稿→提交审核, 场景5: 查看已发布→撤回 ✅ 已更新
activity-registration.spec.js 场景4: 创建活动草稿→提交审核, 场景5: 查看审核列表→审核操作 ✅ 已更新

注意: E2E 测试需前端运行 (localhost:8082),当前状态为"需要前端环境"。


三、测试执行状态

3.1 Maven 单元测试

测试类 预期结果 状态
ActivityServicePublishTest 6 tests ⚠️ 编译环境受限,未能执行
ProductServiceTest 10+ tests ⚠️ 编译环境受限,未能执行
DimensionScoreServiceTest 15+ tests ⚠️ 编译环境受限,未能执行
ArticleWorkflowTest 12 tests (submitForReview/withdraw/reDraft) ⚠️ 待编译验证
SupplySystemServiceTest 14 tests (supplier system CRUD) ⚠️ 待编译验证
FoodRecommendServiceTest 10 tests (food index calculation) ⚠️ 待编译验证

注:Shell 输出被系统拦截,无法直接读取 Maven 输出。通过脚本文件写入 temp/mvn_compile2.txt 检测到 SupplySystemServiceTest 编译错误(ServiceImpl 方法 mock 方式问题),已修复测试文件。

3.2 API 测试 (v11_test.js) — ✅ 已执行

执行时间: 2026-07-07T08:25:12.329Z 结果: 20 PASS / 7 FAIL / 0 SKIP / 6 INFO / 33 Total

测试ID 端点 结果 备注
REG Energy rule create POST /api/admin/energy-rule/create ✅ PASS
REG SKU list POST /api/admin/product/sku/list ✅ PASS
REG Activity publish POST /api/activity/publish ✅ PASS
REG Articles list (public) POST /api/articles/list ✅ PASS
REG Activity list (public) POST /api/activity/list ✅ PASS
REG User list POST /api/admin/users ✅ PASS
REG Energy dims POST /api/admin/energy-rule/dimensions ✅ PASS
REG Vendor list POST /api/admin/vendor/list ✅ PASS
REG Admin articles POST /api/admin/articles/list ✅ PASS
REG Points balance POST /api/points/balance ✅ PASS
REG Energy overview POST /api/energy/overview ✅ PASS
REG Article publish POST /api/admin/articles/publish ✅ PASS
REG Create user POST /api/admin/users/create ✅ PASS
REG Guide activity list POST /api/guide/activities/list ℹ️ 500 已知数据依赖问题
ISSUE-001 Vendor login POST /api/auth/phone-login ✅ PASS test-mode bypass
FOOD-REC-01 Food recommend index POST /api/food/recommendation/index ✅ PASS v12 新增
FOOD-REC-02 Food recommend by-family POST /api/food/recommendation/by-family ✅ PASS v12 新增
ARTICLE-WF-00 Article created POST /api/admin/articles/create ✅ PASS workflow test
AUTO-TAG-01 Article create POST /api/admin/articles/create ✅ PASS
FOOD-01 Food list POST /api/admin/foods/list FAIL 500 error
FOOD-02 Food create POST /api/admin/foods/create ✅ PASS
FOOD-03 Food detail POST /api/admin/foods/detail FAIL 返回字符串而非 JSON
FOOD-04 Save months POST /api/admin/foods/saveMonths FAIL 依赖 food detail 失败
FOOD-05 Verify months POST /api/admin/foods/detail (verify) FAIL 依赖 food detail 失败
FOOD-06 Food delete POST /api/admin/foods/delete FAIL 依赖 food detail 失败
SUPPLY-01 SupplySystem create POST /api/admin/supply-system/create FAIL 500 error (表不存在)
ARTICLE-WF-01 submitForReview POST /api/admin/articles/submit-for-review FAIL 404 路由未找到

回归状态:

  • ✅ 原有 REG 测试全部通过(16 PASS)
  • ✅ ISSUE-001 Vendor login 继续通过
  • ✅ FOOD-REC-01~02 新增测试通过(食材推荐指数 API 正常)
  • ✅ AUTO-TAG-01 创建文章成功
  • ❌ ARTICLE-WF-01 submitForReview 404(路由未注册)
  • ❌ FOOD-01/03~06 失败(已有问题非本次引入)
  • ❌ SUPPLY-01 失败(数据库表可能未创建)

3.3 E2E 测试

所有 20 个 E2E 测试文件需前端环境 (localhost:8082 或 H5 部署),当前状态为"需前端"。E2E spec 文件已更新工作流场景(article-management.spec.js 场景4~5, activity-registration.spec.js 场景4~5),待前端部署后执行。


四、新发现的问题(需修复)

ID 问题 严重级别 对应 Issue
SUPPLY-01 FAIL SupplySystem 创建 500(supply_system 表可能不存在) ISSUE-007
ARTICLE-WF-01 FAIL submit-for-review 路由 404 ISSUE-006
FOOD-01 FAIL foods/list 500 ISSUE-008
FOOD-03 FAIL foods/detail 返回字符串 ISSUE-009

五、建议后续工作

高优先级(本次发现,需立即修复)

  1. 修复 ISSUE-006: AdminArticleController 添加 /submit-for-review 路由
    • Controller 中 /withdraw/reDraft 已存在,/submit-for-review 遗漏
  2. 修复 ISSUE-007: 确认 supply_system 等新表已在生产数据库创建(执行迁移 33)
  3. 修复 ISSUE-008: 排查 /api/admin/foods/list 500 错误(SQL 查询问题)
  4. 修复 ISSUE-009: 排查 /api/admin/foods/detail 返回格式错误

中优先级

  1. E2E 前端部署: 按照 docs/E2E-DEPLOYMENT-GUIDE.md 部署 H5 前端,使 E2E 测试可运行
  2. Maven 单元测试验证: SupplySystemServiceTest 编译修复后执行单元测试验证
  3. 补充边界测试: ZodiacAnnualEnergyService、HealthReportService Phase 2
  4. SupplySettlementService 集成测试: createSettlementForOrder 涉及复杂金额计算/返利逻辑
  5. CI 流水线: 配置 GitHub Actions / jenkins 自动化测试

报告生成时间: 2026-07-07 测试工程师: xaf-test-engineer (via Sisyphus)