跳转至

测试与验证

手册 · 开发 · 模块

使用仓库配置的工具以及 代理设置 中的环境。在开发过程中运行针对性检查,并在发布前运行受影响的项目门禁。仅涉及文档的变更不需要付费模型调用或完整的渲染工作负载。

按变更类型选择检查

变更类型 最低有效证据
文档与 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