言试 1.0.0 发布说明
摘要
1.0 稳定线把言试从基础断言和替身集合升级为有明确资源边界、生命周期协议和跨库契约的测试工具包。
主要变化
- 稳定
YANSHI_TEST_*错误分类和结构化错误详情; - 深复制与深比较增加深度、节点预算和字节隔离;
- 套件增加注册上限、重复名称检查、失败聚合、跳过统计和逆序清理;
- 临时目录增加根路径检查、路径穿越防护、碰撞重试和幂等状态;
- HTTP Mock 接入正式言访自定义传输并记录完整请求快照;
- 增加言库完成后回滚测试事务;
- 增加仓储协议、函数适配器与 CRUD 契约;
- 增加独立示例、基准、人工文档和编译器生成 API 参考。
兼容性
- 最低言序:1.1.12;
- 言据:1.2.0;
- 言时、言访、言库:1.0.0;
- 纯言序实现,支持 Linux、macOS 和 Windows;
- 保留 0.1 的
HTTPMock.传输()和通用测试事务()。
迁移
升级工具链和锁文件;把错误消息判断改为错误代码;修正临时路径中的..;言访客户端改用HTTPMock.言访传输();真实言库连接改用数据库测试事务()。详见MIGRATION.md。
安全与权限
依赖不传递权限。快照与临时目录需要顶层测试项目授权自己的路径。HTTP Mock 不访问网络,数据库测试事务不创建连接。仓储契约会重置数据,只能用于隔离测试仓储。
验证
稳定门禁覆盖断言、数据驱动、套件生命周期、临时资源、Mock/Spy、虚拟时钟、快照、言访传输、言库回滚事务和仓储 CRUD 契约。规格在树解释器与字节码 VM 对照执行,根包、示例包和基准包分别锁定并做 Release 构建。
已知限制
同步套件不调度异步任务;快照只支持 JSON 值;替身记录会线性占用内存;HTTP Mock 不模拟真实 TLS 或网络时序;数据库事务不覆盖外部副作用;仓储契约不是生产数据迁移工具。