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