# Core 标准单元测试报告
# 1. 测试范围
覆盖 test/Air.Cloud.UnitTest/Core/Standard。
目标是验证 Air.Cloud Core 标准层的基础契约:配置、锁 Key、数据库配置、JSON、日志、事件调度和动态服务生命周期。
# 2. 测试内容与边界
| 功能 | 测试目的 | 边界内入参 | 边界外 / 异常入参 | 预期结果 |
|---|---|---|---|---|
| 配置加载 | 验证存在文件可加载 | 存在的 JSON 配置文件 | 缺失的配置文件 | 存在时可读取;缺失时返回空配置,不抛异常。 |
| 分布式锁 Key | 验证锁 Key 稳定性 | 相同方法与相同参数 | 不同参数 | 相同输入生成相同 MD5;不同输入生成不同 Key。 |
| 分布式锁特性 | 验证锁时间保护 | 默认 Attribute;等待时间大于锁时间 | 锁时长短于等待时长 | 默认值稳定;锁时长自动扩展,避免等待期内锁已过期。 |
| 数据库配置 | 验证配置标识与类型默认值 | DataBaseOption.Key | 未指定数据库类型 | UID 为 Key 的 MD5;数据库类型默认 SQL。 |
| NoSQL 实体 | 验证实体最小契约 | 实体 Id | 无私有标记接口 | 暴露 Id,并实现私有标记。 |
| JSON 序列化 | 验证对象闭环 | 普通对象、DateTime、Exception | 尝试反序列化 Exception | 普通对象可闭环;DateTime 格式稳定;Exception 不支持反序列化。 |
| 打印与链路日志 | 验证日志输出格式 | 单行参数、多行错误参数 | 多行文本 | 输出结构可区分单行/多行,默认链路日志字段初始化。 |
| 事件与调度 | 验证枚举字符串转换与 Cron 兼容 | 合法枚举字符串、表达式 | 非兼容表达式 | 枚举可往返;Cron 校验保持当前兼容契约。 |
| 动态服务生命周期 | 验证标记接口到生命周期映射 | 已知生命周期标记接口 | 未知标记接口 | 已知类型映射成功;未知类型抛异常。 |
# 3. 测试结果
本报告已单独运行对应过滤命令,结果:46/46 通过。
dotnet test test/Air.Cloud.UnitTest/Air.Cloud.UnitTest.csproj --no-restore --filter "FullyQualifiedName~Air.Cloud.UnitTest.Core.Standard"
# 4. 对应目标版本
不依赖外部中间件。目标是当前源码中的 Air.Cloud.Core 标准契约。