From e543ef9bafcf799327223d757cd11df1a19ae3b2 Mon Sep 17 00:00:00 2001 From: GwWuYou <95328647+GeWuYou@users.noreply.github.com> Date: Fri, 2 Jan 2026 12:20:17 +0800 Subject: [PATCH] =?UTF-8?q?refactor(tests):=20=E6=8F=90=E5=8F=96=E6=9E=B6?= =?UTF-8?q?=E6=9E=84=E5=88=9D=E5=A7=8B=E5=8C=96=E5=A4=B1=E8=B4=A5=E6=96=AD?= =?UTF-8?q?=E8=A8=80=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 ArchitecturePhase 枚举的 using 引用 - 提取 AssertInitializationFailed 方法用于验证初始化失败状态 - 简化 AddPostRegistrationHook 中的 lambda 表达式语法 - 使用新提取的断言方法替换重复的断言逻辑 --- .../tests/ArchitectureTestsBase.cs | 15 ++++++++++++++- .../tests/AsyncArchitectureTests.cs | 9 ++++----- .../tests/SyncArchitectureTests.cs | 9 ++++++--- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/GFramework.Core.Tests/tests/ArchitectureTestsBase.cs b/GFramework.Core.Tests/tests/ArchitectureTestsBase.cs index c756db6..edb39a9 100644 --- a/GFramework.Core.Tests/tests/ArchitectureTestsBase.cs +++ b/GFramework.Core.Tests/tests/ArchitectureTestsBase.cs @@ -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 where TArchitecture : Architecture = null; } } + + /// + /// 验证架构初始化失败的断言方法 + /// 检查当前架构阶段是否为初始化失败状态 + /// + protected void AssertInitializationFailed() + { + Assert.That( + Architecture!.CurrentPhase, + Is.EqualTo(ArchitecturePhase.FailedInitialization) + ); + } } \ No newline at end of file diff --git a/GFramework.Core.Tests/tests/AsyncArchitectureTests.cs b/GFramework.Core.Tests/tests/AsyncArchitectureTests.cs index bb027e0..205bfaf 100644 --- a/GFramework.Core.Tests/tests/AsyncArchitectureTests.cs +++ b/GFramework.Core.Tests/tests/AsyncArchitectureTests.cs @@ -133,13 +133,12 @@ public class AsyncArchitectureTests : ArchitectureTestsBase { a.RegisterModel(new FailingModel()); }); + Architecture!.AddPostRegistrationHook(a => + a.RegisterModel(new FailingModel()) + ); await Architecture.InitializeAsync(); - Assert.That( - Architecture.CurrentPhase, - Is.EqualTo(ArchitecturePhase.FailedInitialization) - ); + AssertInitializationFailed(); } } \ No newline at end of file diff --git a/GFramework.Core.Tests/tests/SyncArchitectureTests.cs b/GFramework.Core.Tests/tests/SyncArchitectureTests.cs index 99e3124..fc04c79 100644 --- a/GFramework.Core.Tests/tests/SyncArchitectureTests.cs +++ b/GFramework.Core.Tests/tests/SyncArchitectureTests.cs @@ -127,9 +127,12 @@ public class SyncArchitectureTests : ArchitectureTestsBase [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(); } } \ No newline at end of file