Appearance
E2E 测试报告(中文)
英文版参见:
docs/e2e-testing-report.md。
本文档汇总了仓库中新增的端到端(E2E)Markdown 解析测试,便于在未来持续扩展覆盖范围。
目标
提供一个精简、可复现的 E2E 测试套件,用于验证解析器和渲染器是否能正确处理常见的 Markdown 结构,并作为后续扩展的基础。
新增内容
test/fixtures/—— 收录具有代表性的 Markdown 用例:headings.mdcode-diff.mdtable.mdadmonition.mdmath.mdfootnotes.mdimage-link.mdcheckbox.mdmermaid.md
test/e2e.markdown.test.ts—— Vitest 测试文件,主要职责:- 读取每个 fixture
- 使用
parseMarkdownToStructure(基于getMarkdown)进行解析 - 序列化为最小稳定结构并针对每个 fixture 生成快照
- 含有一个针对行内数学/代码块渲染的断言
快照 —— 由 Vitest 生成,存放在默认快照目录。
.github/workflows/ci.yml—— GitHub Actions 工作流,在push与pull_request时执行:- 安装依赖
- 运行
pnpm test - 运行
pnpm typecheck - 运行
pnpm lint
本地运行方式
如需在本地运行测试(并在输出预期发生变化时更新快照):
bash
pnpm test -- -u仅运行测试(不更新快照):
bash
pnpm test类型检查与 ESLint:
bash
pnpm typecheck
pnpm lint建议 / 下一步
- 扩展快照内容(例如加入
children文本片段与节点meta),提升对节点 payload 回归的捕捉能力。 - 增加以下边界场景的 fixture 与断言:
- 未闭合的代码围栏
- 深度嵌套列表中混合标记
- 转义括号等特殊场景
- 流式代码围栏的异常输入
- 为需要 DOM 或 Worker 的插件(Mermaid、KaTeX、Monaco)补充集成测试,并考虑在 CI 中加入基于 Playwright 的浏览器流程。
如果需要,我可以:
- 立即扩充快照的元信息。
- 补充上述边界场景的 fixture 与测试。
- 起草一个面向 DOM 插件的 Playwright CI 任务。
欢迎告知下一步的优先项。