refactor(tests): 提取架构初始化失败断言方法

- 添加 ArchitecturePhase 枚举的 using 引用
- 提取 AssertInitializationFailed 方法用于验证初始化失败状态
- 简化 AddPostRegistrationHook 中的 lambda 表达式语法
- 使用新提取的断言方法替换重复的断言逻辑
This commit is contained in:
GwWuYou 2026-01-02 12:20:17 +08:00
parent e19f4ce5a1
commit e543ef9baf
3 changed files with 24 additions and 9 deletions

View File

@ -1,4 +1,5 @@
using GFramework.Core.architecture;
using GFramework.Core.Abstractions.enums;
using GFramework.Core.architecture;
using NUnit.Framework;
namespace GFramework.Core.Tests.tests;
@ -45,4 +46,16 @@ public abstract class ArchitectureTestsBase<TArchitecture> where TArchitecture :
Architecture = null;
}
}
/// <summary>
/// 验证架构初始化失败的断言方法
/// 检查当前架构阶段是否为初始化失败状态
/// </summary>
protected void AssertInitializationFailed()
{
Assert.That(
Architecture!.CurrentPhase,
Is.EqualTo(ArchitecturePhase.FailedInitialization)
);
}
}

View File

@ -133,13 +133,12 @@ public class AsyncArchitectureTests : ArchitectureTestsBase<AsyncTestArchitectur
[Test]
public async Task InitializeAsync_Should_Handle_Exception_Correctly()
{
Architecture!.AddPostRegistrationHook(a => { a.RegisterModel(new FailingModel()); });
Architecture!.AddPostRegistrationHook(a =>
a.RegisterModel(new FailingModel())
);
await Architecture.InitializeAsync();
Assert.That(
Architecture.CurrentPhase,
Is.EqualTo(ArchitecturePhase.FailedInitialization)
);
AssertInitializationFailed();
}
}

View File

@ -127,9 +127,12 @@ public class SyncArchitectureTests : ArchitectureTestsBase<SyncTestArchitecture>
[Test]
public void Architecture_Should_Stop_Initialization_When_Model_Init_Fails()
{
Architecture!.AddPostRegistrationHook(architecture => { architecture.RegisterModel(new FailingModel()); });
// 调用初始化
Architecture!.AddPostRegistrationHook(a =>
a.RegisterModel(new FailingModel())
);
Architecture.Initialize();
Assert.That(Architecture.CurrentPhase, Is.EqualTo(ArchitecturePhase.FailedInitialization));
AssertInitializationFailed();
}
}