diff --git a/GFramework.Game.Tests/Config/YamlConfigLoaderNegationTests.cs b/GFramework.Game.Tests/Config/YamlConfigLoaderNegationTests.cs index 7d58b0db..169a03bb 100644 --- a/GFramework.Game.Tests/Config/YamlConfigLoaderNegationTests.cs +++ b/GFramework.Game.Tests/Config/YamlConfigLoaderNegationTests.cs @@ -67,10 +67,8 @@ public sealed class YamlConfigLoaderNegationTests } """); - var loader = new YamlConfigLoader(_rootPath) - .RegisterTable("monster", "monster", "schemas/monster.schema.json", - static config => config.Id); - var registry = new ConfigRegistry(); + var loader = CreateMonsterLoader(); + var registry = CreateRegistry(); var exception = Assert.ThrowsAsync(async () => await loader.LoadAsync(registry)); @@ -117,10 +115,8 @@ public sealed class YamlConfigLoaderNegationTests } """); - var loader = new YamlConfigLoader(_rootPath) - .RegisterTable("monster", "monster", "schemas/monster.schema.json", - static config => config.Id); - var registry = new ConfigRegistry(); + var loader = CreateMonsterLoader(); + var registry = CreateRegistry(); await loader.LoadAsync(registry); @@ -173,10 +169,8 @@ public sealed class YamlConfigLoaderNegationTests } """); - var loader = new YamlConfigLoader(_rootPath) - .RegisterTable("monster", "monster", "schemas/monster.schema.json", - static config => config.Id); - var registry = new ConfigRegistry(); + var loader = CreateMonsterRewardLoader(); + var registry = CreateRegistry(); var exception = Assert.ThrowsAsync(async () => await loader.LoadAsync(registry)); @@ -230,10 +224,8 @@ public sealed class YamlConfigLoaderNegationTests } """); - var loader = new YamlConfigLoader(_rootPath) - .RegisterTable("monster", "monster", "schemas/monster.schema.json", - static config => config.Id); - var registry = new ConfigRegistry(); + var loader = CreateMonsterRewardLoader(); + var registry = CreateRegistry(); await loader.LoadAsync(registry); @@ -277,10 +269,8 @@ public sealed class YamlConfigLoaderNegationTests } """); - var loader = new YamlConfigLoader(_rootPath) - .RegisterTable("monster", "monster", "schemas/monster.schema.json", - static config => config.Id); - var registry = new ConfigRegistry(); + var loader = CreateMonsterLoader(); + var registry = CreateRegistry(); var exception = Assert.ThrowsAsync(async () => await loader.LoadAsync(registry)); @@ -321,6 +311,37 @@ public sealed class YamlConfigLoaderNegationTests CreateConfigFile(relativePath, content); } + /// + /// 创建用于标量 not 场景的加载器,统一测试夹具中的注册方式。 + /// + /// 已注册怪物表与 schema 路径的加载器。 + private YamlConfigLoader CreateMonsterLoader() + { + return new YamlConfigLoader(_rootPath) + .RegisterTable("monster", "monster", "schemas/monster.schema.json", + static config => config.Id); + } + + /// + /// 创建用于对象 not 场景的加载器,避免重复维护同一注册参数。 + /// + /// 已注册奖励对象测试表的加载器。 + private YamlConfigLoader CreateMonsterRewardLoader() + { + return new YamlConfigLoader(_rootPath) + .RegisterTable("monster", "monster", "schemas/monster.schema.json", + static config => config.Id); + } + + /// + /// 创建新的配置注册表,明确每个用例都从干净状态开始。 + /// + /// 空的配置注册表。 + private static ConfigRegistry CreateRegistry() + { + return new ConfigRegistry(); + } + /// /// 用于标量 not 回归测试的最小配置类型。 ///