refactor(architecture): 优化架构上下文清理机制

- 将测试专用的 ResetForTests 方法重命名为 Clear 并改为公共方法
- 在测试初始化时添加上下文清理确保测试环境纯净
- 在测试清理时使用 try-finally 确保架构正确销毁和上下文清理
- 修复了架构对象可能未正确清理的潜在问题
This commit is contained in:
GwWuYou 2025-12-30 19:03:58 +08:00
parent 8a01178cc4
commit f022f25ae6
2 changed files with 13 additions and 5 deletions

View File

@ -15,14 +15,22 @@ public class ArchitectureInitializationTests
[SetUp] [SetUp]
public void SetUp() public void SetUp()
{ {
GameContext.Clear();
_architecture = new TestArchitecture(); _architecture = new TestArchitecture();
} }
[TearDown] [TearDown]
public void TearDown() public void TearDown()
{ {
_architecture!.Destroy(); try
_architecture = null; {
_architecture?.Destroy();
}
finally
{
GameContext.Clear();
_architecture = null;
}
} }
private TestArchitecture? _architecture; private TestArchitecture? _architecture;

View File

@ -102,11 +102,11 @@ public static class GameContext
ArchitectureDictionary.TryRemove(architectureType, out _); ArchitectureDictionary.TryRemove(architectureType, out _);
} }
// 测试专用
/// <summary> /// <summary>
/// 为测试重置所有架构上下文(仅内部使用) /// 清空所有架构上下文绑定
/// </summary> /// </summary>
internal static void ResetForTests() public static void Clear()
{ {
ArchitectureDictionary.Clear(); ArchitectureDictionary.Clear();
} }