2.6 KiB
2.6 KiB
脚手架模块装配验收
2026-09-23,本机 macOS arm64 / Go 1.27.1,使用当前本地框架源码。新模板目标版本 v0.7.0-preview 尚未发布,验收使用显式本地 replace。
完成内容:
- CLI 可选日志输出 stdout/stderr/file、JSON/text 格式、对象存储 none/local/s3/r2/oss,与 memory/mysql 数据库独立组合。
- 生成严格的 YAML/JSON 配置、环境变量覆盖、凭据检查、专用客户端连接池和资源关闭代码。
- 用户创建日志、服务端上传、直传链接、临时下载链接和错误处理示例;新增项目测试覆盖配置优先级、关闭幂等性/所有权、关闭后不可重新初始化,以及文件接口行为。
- 生成器在写文件前验证参数和渲染所有模板;修复目标目录尚不存在时的 macOS /var 符号链接路径计算;拒绝将新模块模板与旧远程框架版本组合。强制重新生成时不自动删除旧代码,存在不兼容遗留文件会提前拒绝。
验收结果:
GO_OMNI_SCAFFOLD_INTEGRATION=1 go test -race -p=2 -count=1 -timeout=240s ./...全部通过(37 个有测试的框架包)。其中 10 种数据库/存储组合分别编译并执行生成项目的 race 测试;实际 MySQL 集成用例未提供数据库时跳过。原始输出见 scaffoldModulesTests.txt。go vet ./...、go build ./...、git diff --check通过。python3 scripts/verifyScaffoldModules.py验证四种真实服务组合:stderr/json/nethttp/SIGTERM、stdout/text/native/SIGINT、file/json/native/SIGTERM、file/text/nethttp/SIGINT。全部退出码 0、端口释放。每组验证上传/下载字节、直传、篡改签名 403、认证 401、大小 413、类型 415、非法 key 400、对象缺失 404,以及缺少示例 Token 时启动失败。- 日志包含业务事件与 requestId,签名入口保留真实状态码,未记录示例 Token 或签名 URL。
运行结果、模板/生成器源码 SHA-256 和日志摘要见 scaffoldModulesLocal.json,生成项目的测试输出见 scaffoldModulesLocal.txt。临时项目、二进制和测试进程已清理。
边界:本轮真实接口验收使用 Local。S3/R2/OSS 生成项目完成编译、配置/构造检查与基于 Local 的业务接口测试,没有访问云账号;MySQL 组合完成编译,本轮未再次运行真实数据库事务验收。示例共享 Token 授权整个文件模块,业务上线仍应替换认证和对象归属规则;这不构成固定用户/租户上下文。当前改动未推送或打标签。