GFramework/GFramework.Cqrs.Tests/Cqrs/DeterministicNotificationHandlerState.cs
gewuyou 5693ab7e6f fix(test-helpers): 收敛PR300评审问题
- 修复测试架构上下文、生命周期钩子与注册表初始化钩子的评审问题,避免静默成功或错误共享状态

- 补充 TestResourceLoader、TestLogger、CapturingLoggerFactoryProvider 与 CQRS 测试辅助类型的契约文档和并发语义

- 新增测试覆盖并更新 analyzer-warning-reduction 活跃跟踪,记录 PR #300 跟进验证与现存 Cqrs warning blocker
2026-04-28 09:26:20 +08:00

30 lines
989 B
C#

using System.Collections.Generic;
namespace GFramework.Cqrs.Tests.Cqrs;
/// <summary>
/// 记录确定性通知处理器的实际执行顺序。
/// </summary>
internal static class DeterministicNotificationHandlerState
{
/// <summary>
/// 获取当前测试中的通知处理器执行顺序。
/// </summary>
/// <remarks>
/// 该集合仅供顺序测试断言使用,不提供并发安全保证。
/// 若多个处理器在并行测试中同时写入,调用方可能观察到竞争条件或未定义顺序。
/// </remarks>
public static List<string> InvocationOrder { get; } = [];
/// <summary>
/// 重置共享的执行顺序状态。
/// </summary>
/// <remarks>
/// 该方法只支持在单线程测试准备阶段调用;并发调用会与 <see cref="InvocationOrder" /> 的直接写入互相竞争。
/// </remarks>
public static void Reset()
{
InvocationOrder.Clear();
}
}