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]
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;

View File

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