2.4 KiB
2.4 KiB
示例
最小项目用 dever new <新目录>。下列项目可复制到新目录后修改,均包含源码、测试和配置。
| 场景 | 项目 | 用例筛选 |
|---|---|---|
| 集合、分句 | collections | content.article |
| HTTP、REST、身份核验 | http-rest | content.article.title |
| 持久任务 | jobs | report.archive.queued |
| Python/JS/Go 与 Port fake | external-lib | document.markup |
| 普通二进制与 Port fake | command | document.tool.version |
dever fmt <root> --check
dever check <root>
dever test <root> --filter <表中筛选> --timeout-ms 5000
测试不会启动真实第三方程序或连接部署数据库。教程片段链接到这些项目的源码,校验脚本检查片段、签名及项目;运行验证使用当前编译器。
HTTP 与 REST
http-rest 包含匿名健康检查和受保护 Article 资源:
- GET /system/health/admin/status/ready 返回成功包裹的 true。
- /content/article/admin/entries 提供 REST;用 dever api 导出具体方法和输入输出。
- verify 检查会话、用户、租户和成员关系;未提供注册、密码登录或签发凭据。
实际部署需配置密钥、身份数据、租户库和 Owner。角色由核心管理,不能把 fake 测试当作认证或部署验收。操作规则见 应用。
持久 Job
jobs 通过 report.archive.submit 入队,key 去重,Job 在事务中写入归档记录。测试用临时 SQLite、独立时钟和 drainJobs 验证队列,不启动常驻 worker。
真实 CMD 会写配置的数据库;无命令参数时才按 runtime.mode 启动服务:
dever run <root> -- report.archive.submit '{"input":{"key":"report-2026-10","title":"Monthly report"}}'
任务至少执行一次,外部副作用仍须业务幂等。执行身份和权限规则见 应用。
外部程序
external-lib 附三种生态的处理函数和 fake,不附真实依赖锁与运行资源,见 接入说明。
command 不附 bin/tool;真实运行前需提供目标架构的 ELF 及所需库。fake 只验证 App 与 Port 的接口。
collections 可直接运行,无需数据库:
dever run <root> -- content.article.summarize '{"articles":[{"title":" First ","published":true}]}'