MyFramework User 1d24bfe7ac fix(tests+docs): 放宽 CORE-3 轮询超时 + book 43 卡死修复总结 преди 2 месеца
..
README.md 3ab3f3c210 chore: 批量提交本地所有未提交改动 преди 2 месеца
book-core-flow.spec.ts 3ab3f3c210 chore: 批量提交本地所有未提交改动 преди 2 месеца
poll.ts 1d24bfe7ac fix(tests+docs): 放宽 CORE-3 轮询超时 + book 43 卡死修复总结 преди 2 месеца

README.md

核心业务测试:书籍生成完整链路

适用于每次修改核心业务代码后、每次发布上线前的回归校验。 测试目标:保证「大纲 → 内容 → 音频」这条核心业务链路从前端页面到后端 API 都可工作。

测试范围

CORE-1  预估字数与时长                          (GET  /api/book-generator/langgraph/estimate)
CORE-2  创建书籍(停在 draft,不自动生成)       (POST /api/book-generator/langgraph/books)
CORE-3  生成大纲,等待 outline_completed        (POST .../outline + 轮询 /progress)
CORE-4  生成全部章节内容,等待 content_completed (POST .../chapters + 轮询 /progress)
CORE-5  生成全部章节音频,等待 allCompleted      (POST .../audio + 轮询 /audio-status)
CORE-6  书籍最终态为 audio_completed / video_completed
CORE-7  书籍列表页可访问,能看到刚生成的书       (UI: /#/pages/book-generator/index)
CORE-8  创建页可访问、表单可填写                 (UI: /#/pages/book-generator/create)
CORE-9  详情页正确显示状态                       (UI: /#/pages/book-generator/detail)
CORE-10 章节详情页可访问                         (UI: /#/pages/book-generator/chapter-detail)

设计原则

  1. 状态变更走 API — 避开 uni.showModal 等 uni-app H5 模态框,测试稳定可重跑。
  2. 可见性校验走 UI — 任何前端展示层(列表 / 详情 / 状态文本)改动能被立即发现。
  3. 失败立即抛错 — 不静默跳过,任一阶段失败 = 整个 describe 标红。

运行环境

组件 地址 必须先启动
后端 http://127.0.0.1:3000
前端 H5 http://127.0.0.1:5173
数据库 MySQL(Prisma)
LLM 服务 后端 .env 中配置
TTS 服务 后端 .env 中配置

运行方式

# 方式一:通过根目录脚本(推荐)
./scripts/run-core-business-test.sh

# 方式二:直接调 playwright
npx playwright test \
  --project=core-business \
  --config=tests/playwright.config.ts

# 方式三:只跑核心业务用例
cd tests/e2e/core-business && \
  npx playwright test book-core-flow.spec.ts \
    --config=../../playwright.config.ts

时长参考

阶段 参考时长
CORE-1~2 < 5s
CORE-3 大纲 30 ~ 60s
CORE-4 内容 60 ~ 180s
CORE-5 音频 60 ~ 240s
CORE-6~10 UI < 30s
合计 3 ~ 8 分钟

单测超时设 10 分钟,避免环境抖动。LLM / TTS 真实调用,时长不可压缩。

失败处理

  • tests/test-results/report HTML 报告
  • tests/test-results/results.json 结构化结果
  • 看后端日志(特别是 prisma / langgraph / TTS provider 报错)

修改触发矩阵

改动文件 必须跑?
server/src/modules/book-generator/**
my-uniapp-vue3/src/pages/book-generator/**
my-uniapp-vue3/src/utils/book-generator-api.ts
server/prisma/schema.prisma(Book / Chapter 表)
部署 / 发布脚本
其他无关文件 可选