fix: 修复后端配置加载测试失败
- 修复 viper SafeWriteConfig 与 SetConfigFile 不兼容问题 - 将 SafeWriteConfig() 替换为 SafeWriteConfigAs(configPath) - 绕过 viper 的 configPaths 检查 - 调整 Makefile 测试命令分类 - backend-test: 仅运行后端核心测试 - backend-test-all: 运行全部后端测试(含 desktop) - desktop-test: 单独运行桌面应用测试 - 同步 config-management 和 test-coverage 规范
This commit is contained in:
@@ -169,15 +169,15 @@
|
||||
|
||||
- **WHEN** 应用启动
|
||||
- **THEN** SHALL 按以下顺序加载配置:
|
||||
1. 解析 CLI 参数(获取 --config 路径)
|
||||
2. 初始化配置管理器
|
||||
3. 设置默认值
|
||||
4. 绑定 CLI 参数
|
||||
5. 绑定环境变量
|
||||
6. 读取配置文件
|
||||
7. 反序列化到结构体
|
||||
8. 验证配置
|
||||
9. 打印配置摘要
|
||||
1. 解析 CLI 参数(获取 --config 路径)
|
||||
2. 初始化配置管理器
|
||||
3. 设置默认值
|
||||
4. 绑定 CLI 参数
|
||||
5. 绑定环境变量
|
||||
6. 读取配置文件(不存在时自动创建)
|
||||
7. 反序列化到结构体
|
||||
8. 验证配置
|
||||
9. 打印配置摘要
|
||||
|
||||
#### Scenario: 加载失败处理
|
||||
|
||||
|
||||
@@ -31,16 +31,27 @@
|
||||
- **THEN** SHALL 测试请求转换、响应转换、流式转换
|
||||
- **THEN** SHALL 验证转换的准确性和完整性
|
||||
|
||||
#### Scenario: config 加载管道集成测试
|
||||
#### Scenario: LoadConfigFromPath 默认值验证
|
||||
|
||||
- **WHEN** 运行 config 加载管道的集成测试
|
||||
- **THEN** SHALL 验证 LoadConfigFromPath 正确加载默认值
|
||||
- **THEN** SHALL 验证环境变量(`NEX_` 前缀)覆盖默认值
|
||||
- **THEN** SHALL 验证 YAML 配置文件正确读取
|
||||
- **THEN** SHALL 验证优先级链:CLI 参数 > 环境变量 > YAML 文件 > 默认值
|
||||
- **THEN** SHALL 验证首次启动自动创建配置文件
|
||||
- **THEN** SHALL 验证 SaveConfig 后重新 LoadConfig 数据一致
|
||||
|
||||
#### Scenario: 环境变量覆盖验证
|
||||
|
||||
- **WHEN** 设置 `NEX_SERVER_PORT=9000` 和 `NEX_LOG_LEVEL=debug`
|
||||
- **THEN** SHALL 成功加载
|
||||
- **THEN** 配置值 SHALL 反映环境变量覆盖
|
||||
|
||||
#### Scenario: 自动创建配置文件验证
|
||||
|
||||
- **WHEN** 调用 `LoadConfigFromPath` 并指向不存在的文件路径
|
||||
- **THEN** SHALL 成功加载(不返回 `missing configuration for 'configPath'` 错误)
|
||||
- **THEN** SHALL 返回默认配置对象
|
||||
|
||||
#### Scenario: handler 错误分支测试
|
||||
|
||||
- **WHEN** 运行 handler 层的单元测试
|
||||
|
||||
Reference in New Issue
Block a user