mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
- 修复测试架构上下文、生命周期钩子与注册表初始化钩子的评审问题,避免静默成功或错误共享状态 - 补充 TestResourceLoader、TestLogger、CapturingLoggerFactoryProvider 与 CQRS 测试辅助类型的契约文档和并发语义 - 新增测试覆盖并更新 analyzer-warning-reduction 活跃跟踪,记录 PR #300 跟进验证与现存 Cqrs warning blocker
30 lines
989 B
C#
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();
|
|
}
|
|
}
|