diff --git a/GFramework.Core.Tests/tests/ArchitectureInitializationTests.cs b/GFramework.Core.Tests/tests/ArchitectureInitializationTests.cs index aaec305..fa147af 100644 --- a/GFramework.Core.Tests/tests/ArchitectureInitializationTests.cs +++ b/GFramework.Core.Tests/tests/ArchitectureInitializationTests.cs @@ -15,14 +15,22 @@ public class ArchitectureInitializationTests [SetUp] public void SetUp() { + GameContext.Clear(); _architecture = new TestArchitecture(); } [TearDown] public void TearDown() { - _architecture!.Destroy(); - _architecture = null; + try + { + _architecture?.Destroy(); + } + finally + { + GameContext.Clear(); + _architecture = null; + } } private TestArchitecture? _architecture; diff --git a/GFramework.Core/architecture/GameContext.cs b/GFramework.Core/architecture/GameContext.cs index 354f342..1c26c91 100644 --- a/GFramework.Core/architecture/GameContext.cs +++ b/GFramework.Core/architecture/GameContext.cs @@ -102,11 +102,11 @@ public static class GameContext ArchitectureDictionary.TryRemove(architectureType, out _); } - // 测试专用 + /// - /// 为测试重置所有架构上下文(仅内部使用) + /// 清空所有架构上下文绑定 /// - internal static void ResetForTests() + public static void Clear() { ArchitectureDictionary.Clear(); }