From 67c9359fd2fade316446337262d96d5e31c1c6c2 Mon Sep 17 00:00:00 2001 From: gewuyou <95328647+GeWuYou@users.noreply.github.com> Date: Sat, 25 Apr 2026 09:46:44 +0800 Subject: [PATCH] =?UTF-8?q?test(core-tests):=20=E7=AE=80=E5=8C=96=E5=BC=82?= =?UTF-8?q?=E6=AD=A5=E6=96=AD=E8=A8=80=E5=8C=85=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 简化 Architecture、Command、Query 与 AsyncArchitecture 测试中的机械型 async/await 异步断言包装 - 更新 AsyncKeyLockManagerTests 中的 Task 断言写法以消除低风险 analyzer 噪音 --- .../Architectures/ArchitectureLifecycleBehaviorTests.cs | 6 +++--- .../Command/AbstractAsyncCommandTests.cs | 2 +- GFramework.Core.Tests/Command/CommandExecutorTests.cs | 4 ++-- .../Concurrency/AsyncKeyLockManagerTests.cs | 8 ++++---- GFramework.Core.Tests/Query/AbstractAsyncQueryTests.cs | 2 +- GFramework.Core.Tests/Query/AsyncQueryExecutorTests.cs | 4 ++-- GFramework.Core.Tests/Tests/AsyncArchitectureTests.cs | 6 +++--- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/GFramework.Core.Tests/Architectures/ArchitectureLifecycleBehaviorTests.cs b/GFramework.Core.Tests/Architectures/ArchitectureLifecycleBehaviorTests.cs index 05f98acc..c889baff 100644 --- a/GFramework.Core.Tests/Architectures/ArchitectureLifecycleBehaviorTests.cs +++ b/GFramework.Core.Tests/Architectures/ArchitectureLifecycleBehaviorTests.cs @@ -99,10 +99,10 @@ public class ArchitectureLifecycleBehaviorTests { var architecture = new PhaseTrackingArchitecture(() => throw new InvalidOperationException("boom")); - var exception = Assert.ThrowsAsync(async () => await architecture.InitializeAsync()); + var exception = Assert.ThrowsAsync(() => architecture.InitializeAsync()); Assert.That(exception, Is.Not.Null); Assert.That(architecture.CurrentPhase, Is.EqualTo(ArchitecturePhase.FailedInitialization)); - Assert.ThrowsAsync(async () => await architecture.WaitUntilReadyAsync()); + Assert.ThrowsAsync(() => architecture.WaitUntilReadyAsync()); } /// @@ -139,7 +139,7 @@ public class ArchitectureLifecycleBehaviorTests var destroyOrder = new List(); var architecture = new FailingInitializationArchitecture(destroyOrder); - var exception = Assert.ThrowsAsync(async () => await architecture.InitializeAsync()); + var exception = Assert.ThrowsAsync(() => architecture.InitializeAsync()); Assert.That(exception, Is.Not.Null); Assert.That(architecture.CurrentPhase, Is.EqualTo(ArchitecturePhase.FailedInitialization)); diff --git a/GFramework.Core.Tests/Command/AbstractAsyncCommandTests.cs b/GFramework.Core.Tests/Command/AbstractAsyncCommandTests.cs index 2cc2ec13..5c02898b 100644 --- a/GFramework.Core.Tests/Command/AbstractAsyncCommandTests.cs +++ b/GFramework.Core.Tests/Command/AbstractAsyncCommandTests.cs @@ -110,7 +110,7 @@ public class AbstractAsyncCommandTests var command = new TestAsyncCommandWithExceptionV3(input); var asyncCommand = (IAsyncCommand)command; - Assert.ThrowsAsync(async () => await asyncCommand.ExecuteAsync()); + Assert.ThrowsAsync(() => asyncCommand.ExecuteAsync()); } /// diff --git a/GFramework.Core.Tests/Command/CommandExecutorTests.cs b/GFramework.Core.Tests/Command/CommandExecutorTests.cs index caacc464..f12130ad 100644 --- a/GFramework.Core.Tests/Command/CommandExecutorTests.cs +++ b/GFramework.Core.Tests/Command/CommandExecutorTests.cs @@ -94,7 +94,7 @@ public class CommandExecutorTests [Test] public void SendAsync_WithNullCommand_Should_ThrowArgumentNullException() { - Assert.ThrowsAsync(async () => await _commandExecutor.SendAsync(null!)); + Assert.ThrowsAsync(() => _commandExecutor.SendAsync(null!)); } /// @@ -118,7 +118,7 @@ public class CommandExecutorTests [Test] public void SendAsync_WithResult_AndNullCommand_Should_ThrowArgumentNullException() { - Assert.ThrowsAsync(async () => await _commandExecutor.SendAsync(null!)); + Assert.ThrowsAsync(() => _commandExecutor.SendAsync(null!)); } } diff --git a/GFramework.Core.Tests/Concurrency/AsyncKeyLockManagerTests.cs b/GFramework.Core.Tests/Concurrency/AsyncKeyLockManagerTests.cs index e249013f..1fe7cf3b 100644 --- a/GFramework.Core.Tests/Concurrency/AsyncKeyLockManagerTests.cs +++ b/GFramework.Core.Tests/Concurrency/AsyncKeyLockManagerTests.cs @@ -123,7 +123,7 @@ public sealed class AsyncKeyLockManagerTests } // Assert - Assert.DoesNotThrowAsync(async () => await Task.WhenAll(tasks)); + Assert.DoesNotThrowAsync(() => Task.WhenAll(tasks)); } [Test] @@ -243,7 +243,7 @@ public sealed class AsyncKeyLockManagerTests manager.Dispose(); // Act & Assert - Assert.ThrowsAsync(async () => await manager.AcquireLockAsync("test-key")); + Assert.ThrowsAsync(() => manager.AcquireLockAsync("test-key").AsTask()); } [Test] @@ -302,7 +302,7 @@ public sealed class AsyncKeyLockManagerTests } // Assert - Assert.DoesNotThrowAsync(async () => await Task.WhenAll(tasks)); + Assert.DoesNotThrowAsync(() => Task.WhenAll(tasks)); } [Test] @@ -334,4 +334,4 @@ public sealed class AsyncKeyLockManagerTests // Assert - 不应该抛出异常 Assert.Pass(); } -} \ No newline at end of file +} diff --git a/GFramework.Core.Tests/Query/AbstractAsyncQueryTests.cs b/GFramework.Core.Tests/Query/AbstractAsyncQueryTests.cs index bf6397b9..a7312baa 100644 --- a/GFramework.Core.Tests/Query/AbstractAsyncQueryTests.cs +++ b/GFramework.Core.Tests/Query/AbstractAsyncQueryTests.cs @@ -80,7 +80,7 @@ public class AbstractAsyncQueryTests var query = new TestAsyncQueryWithExceptionV4(input); var asyncQuery = (IAsyncQuery)query; - Assert.ThrowsAsync(async () => await asyncQuery.DoAsync()); + Assert.ThrowsAsync(() => asyncQuery.DoAsync()); } /// diff --git a/GFramework.Core.Tests/Query/AsyncQueryExecutorTests.cs b/GFramework.Core.Tests/Query/AsyncQueryExecutorTests.cs index b23cc8f9..acf0cc84 100644 --- a/GFramework.Core.Tests/Query/AsyncQueryExecutorTests.cs +++ b/GFramework.Core.Tests/Query/AsyncQueryExecutorTests.cs @@ -44,7 +44,7 @@ public class AsyncQueryExecutorTests [Test] public void SendAsync_WithNullQuery_Should_ThrowArgumentNullException() { - Assert.ThrowsAsync(async () => await _asyncQueryExecutor.SendAsync(null!)); + Assert.ThrowsAsync(() => _asyncQueryExecutor.SendAsync(null!)); } /// @@ -100,7 +100,7 @@ public class AsyncQueryExecutorTests var input = new TestAsyncQueryInput { Value = 0 }; var query = new TestAsyncQueryWithException(input); - Assert.ThrowsAsync(async () => await _asyncQueryExecutor.SendAsync(query)); + Assert.ThrowsAsync(() => _asyncQueryExecutor.SendAsync(query)); } /// diff --git a/GFramework.Core.Tests/Tests/AsyncArchitectureTests.cs b/GFramework.Core.Tests/Tests/AsyncArchitectureTests.cs index a758b405..93895979 100644 --- a/GFramework.Core.Tests/Tests/AsyncArchitectureTests.cs +++ b/GFramework.Core.Tests/Tests/AsyncArchitectureTests.cs @@ -93,7 +93,7 @@ public class AsyncArchitectureTests : ArchitectureTestsBase { a.RegisterModel(new FailingModel()); }); - Assert.ThrowsAsync(async () => await Architecture.InitializeAsync()); + Assert.ThrowsAsync(() => Architecture.InitializeAsync()); Assert.That( Architecture.CurrentPhase, @@ -140,8 +140,8 @@ public class AsyncArchitectureTests : ArchitectureTestsBase(async () => await Architecture.InitializeAsync()); + Assert.ThrowsAsync(() => Architecture.InitializeAsync()); AssertInitializationFailed(); } -} \ No newline at end of file +}