测试与验证¶
使用仓库配置的工具以及 代理设置 中的环境。在开发过程中运行针对性检查,并在发布前运行受影响的项目门禁。仅涉及文档的变更不需要付费模型调用或完整的渲染工作负载。
按变更类型选择检查¶
| 变更类型 | 最低有效证据 |
|---|---|
| 文档与 CLI 示例 | 链接/锚点、CLI 文档契约、命令帮助、无过期路径 |
| Python 领域逻辑 | 聚焦的 pytest 复现;Ruff;相关导入边界 |
| API 或会话轮次事件 | 请求/授权测试、生成的契约检查、持久化/回放测试、消费者测试 |
| 前端行为 | 类型检查、聚焦的 Node/Vitest 测试、依赖检查;交互/布局的浏览器验证 |
| 模块归属/依赖 | 生成的 requirements 文件、模块隔离、wheel 生命周期冒烟测试 |
| 插件 worker 或打包页面 | 清单、运行时/生命周期与 API 测试、参考示例 wheel |
| 解析/子进程代码 | 真实子进程的成功/错误/超时/取消;相关平台检查 |
| 提供商/模型集成 | 模拟契约测试,并在需要时显式配置真实提供商探针 |
Python¶
python -m pytest tests/cli/test_docs_contract.py tests/scripts/test_docker_compose.py
python -m pytest tests/app tests/runtime/coordination
python -m pytest tests/plugins tests/api/test_plugins_router.py
python -m ruff check .
python -m ruff format --check .
lint-imports
python scripts/check_architecture.py
python scripts/sync_module_requirements.py --check
python scripts/check_repo_hygiene.py
这些是独立的入口点;请选择相关测试套件,而不是假定第一条命令覆盖所有变更。完整 Python 测试套件为 python -m pytest tests deeptutor/learning/tests。某些集成用例需要 Redis、可选引擎或平台可执行文件等测试夹具。请阅读跳过条件,并准确报告跳过的检查。
check_repo_hygiene.py 检查已跟踪路径。更严格的 check_workspace_hygiene.py 还要求工作区完全干净(clean checkout),因此应在提交后运行它,而不是将预期中的编辑视为测试失败。
Web 与生成的契约¶
从 web/ 目录运行:
npm run typecheck
npm run architecture:check
npm run test:node
npm run test:unit
npm run lint
npm run i18n:check
npm run contracts:check
npm run check:fast 运行上述确定性检查;npm run check 额外加入生产构建和路由预算。修改后端 schema 后,使用 npm run contracts:generate 生成契约,然后检查并提交生成的差异。生成器拥有 web/contracts/ 目录,并调用 Python 导出脚本。
渲染组件测试使用 Vitest 和 Testing Library。Node 测试覆盖纯契约与状态逻辑。Playwright npm run audit 期望在 WEB_BASE_URL 上有一个运行中的前端;关键项目和多 worker 项目在 playwright.config.ts 中有单独的测试夹具要求。不要对学习者唯一的数据副本执行浏览器变更操作。
模块、引擎与可选集成¶
按照 模块 → 验证 执行一次性 wheel 安装、卸载/重装以及保留数据检查。不要使用开发解释器来测试包移除。
实验性 TypeScript 引擎在 packages/chat-engine/ 目录下有自己独立的 npm test,同时还有 Python 桥接和应用兼容性测试。标准测试矩阵位于 tests.yml 和 modules.yml。
deeptutor doctor --online 会发起一次真实的模型请求。Prompt-cache、视频渲染以及多 worker 验收测试可能需要显式的 opt-in 变量。请说明实际的环境与所执行的验证;历史测试次数和模拟提供商不能证明当前生产环境的行为。
审查文档变更¶
检查相对链接时,应从每个文件自身的位置出发,而不是从仓库根目录出发。移动指南时,请搜索 README 翻译、CLI 帮助、UI 设置提示和测试夹具。源链接中不要使用易失效的行号。使用已安装 CLI 的 --help 以及权威的清单/设置来验证命令和默认值。请勿将本地产物和机密信息提交到 commit 中。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 dee/DeepTutor