GeWuYou
d8cd22a424
feat(configuration): 添加配置管理器功能
...
- 实现了 IConfigurationManager 接口定义配置管理契约
- 创建 ConfigurationManager 类提供线程安全的配置存储和访问
- 添加配置的增删改查功能支持泛型类型转换
- 实现配置变更监听机制和取消注册功能
- 提供 JSON 格式导入导出和文件读写功能
- 添加完整的单元测试覆盖并发场景和边界条件
- 实现 ConfigWatcherUnRegister 类处理监听器注销逻辑
2026-03-05 08:34:05 +08:00
GeWuYou
bde1af2c2e
feat(architecture): 添加批量获取组件实例的功能
...
- 在 ArchitectureContext 中添加 GetServices、GetSystems、GetModels 和 GetUtilities 方法
- 扩展 IArchitectureContext 接口以支持批量获取各类组件实例
- 在测试类中实现相应的批量获取功能
- 将原有的 ContextAwareExtensions 拆分为多个专门的扩展类文件
- 新增 ContextAwareCommandExtensions、ContextAwareEnvironmentExtensions 和 ContextAwareEventExtensions 等扩展类
- 提供了更完善的架构上下文组件访问能力
2026-03-05 08:18:57 +08:00
GeWuYou
f984f4a600
refactor(core): 优化核心组件的线程安全性和错误处理
...
- 重构 AsyncLogAppender 的 Flush 方法,添加超时控制和 SpinWait 优化
- 为 BindableProperty 添加线程安全锁保护,确保并发访问的安全性
- 在 BindableProperty 中实现回调外部调用以避免死锁问题
- 为 EasyEvents 使用 ConcurrentDictionary 替代 Dictionary 提高并发性能
- 添加协程调度器异常处理回调机制,防止异常传播导致调度器崩溃
- 为 FileAppender 添加初始化异常处理和资源清理逻辑
- 补充完整的单元测试覆盖并发场景下的线程安全性验证
2026-03-04 11:04:59 +08:00
GeWuYou
1df4e78cdc
style(tests): 统一事件测试中的lambda表达式格式
...
- 在EasyEvent_UnRegister_Should_Remove_Handler方法中将lambda表达式改为块状格式
- 在OrEventTests测试中将lambda表达式改为块状格式
- 保持代码风格一致性,所有lambda表达式都使用大括号包围
2026-03-02 22:01:22 +08:00
deepsource-autofix[bot]
a30abdb4c3
refactor: simplify lambda expressions
...
This PR refactors numerous lambda expressions by removing unnecessary braces and streamlining single-statement lambdas throughout the codebase, improving readability and maintainability.
- Consider simplifying lambda when its body has a single statement: DeepSource flagged lambdas written with a block body for only one statement, causing extra verbosity. This update converts those to concise expression-bodied lambdas by stripping out the curly braces, applied across test assertions, event registrations, and unregister logic. The code is now cleaner and more consistent.
> This Autofix was generated by AI. Please review the change before merging.
2026-03-02 22:01:22 +08:00
GeWuYou
7734fba56f
feat(pause): 添加暂停栈管理系统
...
- 实现了 PauseStackManager 核心管理器,支持嵌套暂停和分组管理
- 添加了 PauseToken 暂停令牌和 PauseGroup 暂停组枚举
- 创建了 PauseScope 作用域类,支持 using 语法自动管理暂停生命周期
- 实现了线程安全的暂停栈操作,包括 Push、Pop 和状态查询
- 添加了暂停处理器接口 IPauseHandler 和 Godot 平台具体实现
- 提供了完整的单元测试覆盖基础功能、嵌套暂停、分组管理和线程安全场景
2026-03-02 21:51:35 +08:00
GeWuYou
aa13760748
refactor(functional): 统一功能模块命名空间格式
...
- 将 GFramework.Core.Functional 命名空间统一改为 GFramework.Core.functional
- 更新 AsyncFunctionalExtensions.cs 中的命名空间声明
- 移除不必要的 using 指令,包括 GFramework.Core.Functional 的导入
- 调整测试文件中的命名空间引用以匹配新的命名空间格式
- 确保所有相关文件都使用一致的小写命名空间约定
2026-03-02 21:51:35 +08:00
GeWuYou
155ca3024b
fix(ecs): 修复模块重复初始化和系统更新问题
...
- 添加 _isInitialized 标志防止 ArchEcsModule 重复初始化
- 在 Initialize 方法中检查是否已初始化避免重复执行
- 设置初始化标志在所有系统初始化完成后
- 修改 DestroyAsync 方法确保仅在已初始化时执行销毁
- 重置 _isInitialized 标志为 false 在销毁时
- 修正 ArchSystemAdapter 注释描述 OnUpdate 为虚方法而非抽象方法
- 简化 EcsAdvancedTests 中的断言语法移除不必要的大括号
2026-03-02 21:20:50 +08:00
GeWuYou
43dc5a4d11
refactor(ecs): 将 ECS 系统重构为基于 Arch 的原生实现
...
- 将 MovementSystem 从继承 EcsSystemBase 改为继承 ArchSystemAdapter
- 更新 MovementSystem 的初始化和更新方法以适配 Arch 架构
- 移除测试代码中的 ECS 相关接口实现和抽象层
- 将测试用例从 GFramework ECS API 迁移到 Arch 原生 API
- 更新 ECS 测试类以使用 Arch World 和实体操作方法
- 重构 ECS 模块初始化流程以支持 Arch 系统注册和管理
2026-03-02 21:20:50 +08:00
GeWuYou
3ecce110ed
feat(architecture): 添加架构上下文提供者和相关测试
...
- 新增 IArchitectureContextProvider 接口定义
- 实现 GameContextProvider 类提供上下文获取功能
- 添加 GameContext 静态类用于获取架构上下文
- 创建 ContextProviderTests 测试上下文提供者功能
- 实现 RegistryInitializationHookBase 抽象基类的完整测试
- 修改 IArchitectureContext.GetUtility 方法为虚拟方法以支持重写
2026-03-02 12:42:09 +08:00
dependabot[bot]
d8ac30d1b6
Bump Microsoft.NET.Test.Sdk from 18.0.1 to 18.3.0
...
---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
dependency-version: 18.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: Microsoft.NET.Test.Sdk
dependency-version: 18.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-26 21:52:42 +08:00
GeWuYou
13229f1c91
refactor(logging): 优化文件追加器测试中的资源管理
...
- 重构 Constructor_ShouldCreateDirectoryIfNotExists 测试方法名称为更描述性的格式
- 使用 using 语句块确保 FileAppender 资源得到正确释放
- 改进测试代码结构以提高可读性和资源清理可靠性
2026-02-26 19:57:42 +08:00
GeWuYou
e94e4890cd
fix(logging): 统一使用UTC时间戳记录日志
...
- 将所有DateTime.Now替换为DateTime.UtcNow以确保时区一致性
- 修复文档中的时间戳记录方式
- 更新测试代码中的时间戳生成逻辑
- 统一框架各模块的时间记录标准
2026-02-26 19:57:42 +08:00
GeWuYou
7d0e5931d1
refactor(logging): 优化日志系统的时间戳和代码实现
...
- 将时间戳从本地时间改为UTC时间以提高一致性
- 使用ToUpperInvariant替代ToUpper提高文化区域安全性
- 简化LogContext中的空值检查逻辑
- 重构CompositeDisposable类以使用主构造函数语法
- 更新测试代码中的时间戳处理方式
2026-02-26 19:57:42 +08:00
GeWuYou
466aae49ec
feat(logging): 增强日志配置加载器功能
...
- 添加 JsonStringEnumConverter 支持枚举的驼峰命名转换
- 实现 ConfigurableLoggerFactory 的 IDisposable 接口确保资源正确释放
- 支持日志级别配置的前缀匹配功能(命名空间层级匹配)
- 优化测试代码中的资源管理,使用 using 语句确保对象正确释放
- 修复 JsonLogFormatter 测试中的属性访问逻辑,使用 TryGetProperty 安全访问
- 将测试中的异常断言从 ArgumentNullException 更新为 ArgumentException
2026-02-26 19:57:42 +08:00
GeWuYou
abdf4cc690
test(logging): 添加日志系统单元测试
...
- 为 AsyncLogAppender 添加完整功能测试,包括异步写入、缓冲区管理、并发处理等场景
- 为 CachedLoggerFactory 添加缓存机制测试,验证相同名称和级别的日志记录器重用
- 为 CompositeFilter 添加过滤器组合测试,验证多个过滤器的逻辑组合功能
- 为 CompositeLogger 添加复合日志记录器测试,验证多追加器写入和级别过滤功能
- 为 ConsoleAppender 添加控制台追加器测试,验证格式化输出和过滤器支持
- 为 DefaultLogFormatter 添加默认格式化器测试,验证基本格式化和异常处理功能
- 为 FileAppender 添加文件追加器测试,验证文件写入、目录创建和追加模式功能
- 为 JsonLogFormatter 添加 JSON 格式化器测试,验证 JSON 输出和属性序列化功能
- 为 LogContext 添加日志上下文测试,验证属性推送和作用域管理功能
2026-02-26 19:57:42 +08:00
GeWuYou
445513b784
docs(tests): 为测试文件添加XML文档注释
...
- 为AsyncExtensionsTests中的所有测试方法添加描述性注释
- 为CollectionExtensionsTests中的所有测试方法添加描述性注释
- 为DelayTests类和其中的测试方法添加描述性注释
- 为GuardExtensionsTests中的所有测试方法添加描述性注释
- 为MediatorComprehensiveTests中的所有测试方法添加描述性注释
- 为NumericExtensionsTests中的所有测试方法添加描述性注释
- 为OptionTests中的所有测试方法添加描述性注释
- 为PipeExtensionsTests中的所有测试方法添加描述性注释
2026-02-26 14:45:39 +08:00
GeWuYou
59fbb2253b
feat(tests): 添加函数式编程扩展和Option类型测试
...
- 添加ControlExtensions的TakeIfValue、TakeUnlessValue、When、RepeatUntil和Retry方法测试
- 添加FunctionExtensions的Compose、AndThen、Curry、Uncurry、Defer和Once方法测试
- 添加Option<T>类型的完整测试套件,包括工厂方法、取值、变换、过滤、模式匹配等功能
- 添加PipeExtensions的Tap、Pipe、Let、PipeIf方法测试
- 移除AsyncExtensionsTests中的WhenAll相关测试
- 移除NumericExtensionsTests中的Clamp测试
- 更新ObjectExtensionsTests中Do方法为Also方法的测试
- 修复ControlExtensions文档中的XML代码标签格式
- 在AsyncExtensionsTests中添加对GFramework.Core.Functional.Async的引用
- 在ObjectExtensionsTests中添加对GFramework.Core.functional.pipe的引用
2026-02-26 14:45:39 +08:00
GeWuYou
eec50ab45b
feat(events): 添加事件上下文支持和线程安全改进
...
- 在EventBus中添加RegisterWithContext方法支持事件上下文
- 实现EventContext<T>类包装事件数据并提供处理控制
- 在PriorityEvent中添加上下文事件处理器和相关管理逻辑
- 改进事件触发机制支持普通和上下文处理器混合使用
- 优化MicrosoftDiContainer的线程安全性和并发访问
- 修复SpanExtensions中TryParseValue的返回值类型问题
- 添加全面的单元测试覆盖新功能和边界情况
2026-02-25 21:39:53 +08:00
GeWuYou
e2dca4f5a6
feat(events): 添加事件优先级和传播控制功能
...
- 实现了事件优先级机制,支持按优先级顺序执行事件处理器
- 新增EventPropagation枚举,支持All、UntilHandled和Highest三种传播模式
- 添加Register方法的重载版本,支持指定事件处理器优先级
- 实现Send方法的重载版本,支持指定事件传播模式
- 新增PriorityEvent类处理带优先级的事件逻辑
- 添加IocContainer的CreateScope方法支持服务作用域管理
- 实现RegisterTransient和RegisterScoped方法完善依赖注入生命周期
- 新增SpanExtensions扩展方法提供高性能的span操作功能
- 添加全面的单元测试覆盖事件优先级、IoC容器生命周期和span扩展功能
2026-02-25 21:39:53 +08:00
GeWuYou
e2cfa7bffa
fix(pool): 修复对象池系统中的双重释放和线程安全问题
...
- 修复 ActiveCount 在双重释放时可能变为负数的问题
- 添加对错误 key 释放的防护和警告日志
- 优化 StringBuilderPool 使用 ConcurrentBag 实现线程安全
- 改进池容量限制逻辑,超过最大容量的对象将被销毁
- 添加完整的单元测试验证双重释放、错误释放和线程安全场景
2026-02-25 20:40:02 +08:00
GeWuYou
eb763a9bc4
feat(pool): 重构对象池系统增加统计和容量控制功能
...
- 引入 PoolInfo 类来管理对象池的核心数据结构和统计信息
- 添加对象池容量限制功能,超过容量时自动销毁多余对象
- 实现对象池统计功能,跟踪创建、获取、释放、销毁等操作计数
- 新增 GetPoolSize 和 GetActiveCount 方法获取池状态信息
- 添加 SetMaxCapacity 方法设置池的最大容量限制
- 实现 Prewarm 功能用于预创建对象提高性能
- 提供 GetStatistics 方法获取详细的池统计信息
- 添加 IsExternalInit 支持旧版 .NET 框架的 init-only 属性
- 扩展 ArrayPool 添加便捷的扩展方法和自动释放功能
- 新增 StringBuilderPool 提供高性能的字符串构建器复用
- 完善单元测试覆盖新增的所有功能特性
2026-02-25 20:40:02 +08:00
GeWuYou
61349a83ab
feat(functional): 增强Result类型功能并添加完整测试覆盖
...
- 为Result.Failure方法添加参数验证,确保异常和消息参数不为空
- 重构Result<T>内部状态枚举顺序以优化比较逻辑
- 为Result<T>的Map、Bind和MapAsync方法添加参数验证和异常处理
- 在Result<T>比较逻辑中添加类型不可比较时的安全处理
- 添加ResultExtensions.BindAsync扩展方法支持异步绑定操作
- 重写Combine扩展方法中对失败结果的处理逻辑
- 添加完整的Result相关类型单元测试覆盖所有功能场景
- 为Result类型添加详细的XML文档注释和使用示例
2026-02-25 20:21:37 +08:00
GeWuYou
1cb7dfdb14
feat(functional): 添加函数式编程支持和Result类型实现
...
- 实现了Result和Result<T>结构体,提供函数式错误处理
- 添加了AsyncExtensions中的函数式编程命名空间引用
- 在FunctionExtensions中添加函数式编程相关引用
- 从项目文件中移除LanguageExt.Core依赖包
- 重构GlobalUsings.cs移除不必要的全局引用
- 添加ResultExtensions扩展方法支持函数式操作
- 实现Map、Bind、Match等核心函数式编程方法
- 添加异步操作支持和安全执行委托功能
2026-02-25 20:21:37 +08:00
GeWuYou
ee3f8c97df
fix(tests): 修正异步扩展测试中的异常类型断言
...
- 将 OperationCanceledException 替换为 TaskCanceledException 进行正确的异常断言
2026-02-25 17:28:52 +08:00
GeWuYou
cddd1fa627
test(extensions): 更新异步扩展方法测试以使用直接调用方式
...
- 移除旧的Arrange步骤,直接在Act步骤中调用AsyncExtensions.WithTimeout方法
- 添加新的测试用例验证超时时内部任务能够被正确取消
- 修改现有测试用例适配新的方法调用方式
- 简化异常处理相关的断言逻辑
2026-02-25 17:28:52 +08:00
GeWuYou
475f301d9f
feat(extensions): 添加多个扩展方法类和对应测试
...
- 新增 AsyncExtensions 提供异步任务超时、重试、安全执行等功能
- 新增 CollectionExtensions 提供集合遍历、空值检查、过滤等扩展功能
- 新增 GuardExtensions 提供参数验证的 Guard 模式扩展方法
- 新增 NumericExtensions 提供数值范围限制、插值计算等数学扩展功能
- 为所有扩展方法添加完整的单元测试覆盖正常和异常情况
- 包含详细的 XML 文档注释和使用示例代码
2026-02-25 17:28:52 +08:00
GeWuYou
4fd90e45a1
feat(godot): 添加资源仓储功能支持
...
- 新增 IHasKey 接口定义键值访问契约
- 新增 IRepository 接口提供通用数据仓储功能
- 实现 GodotResourceRepository 类支持资源的存储和加载
- 添加 IResourceRepository 接口扩展通用仓储功能
- 实现从路径批量加载 Godot 资源的功能
- 支持递归加载子目录中的资源文件
- 提供 .tres 和 .res 文件的自动识别和加载
2026-02-23 22:33:29 +08:00
GeWuYou
ed187473dd
test(architecture): 更新架构服务测试以验证内置模块注册
...
- 添加了对ArchitectureProperties和GFramework.Core.services的引用
- 实现了RegisterBuiltInServices方法用于注册内置服务
- 修改了构造函数测试以验证容器初始化而非所有服务
- 更新了EventBus、CommandExecutor和QueryExecutor的测试以验证注册后可用性
- 添加了AsyncQueryExecutor可用性测试
- 添加了未注册服务时EventBus为null的测试
- 在多个实例测试中添加了模块注册以确保独立性
- 添加了ModuleManager属性非空测试
- 实现了ECS配置开关控制模块注册的测试
- 移除了TestArchitectureContextV3中的硬编码服务实现
- 更新了ECS相关测试以直接注册EcsWorld到容器中
- 改进了ECS世界获取失败时的错误消息
2026-02-23 13:53:29 +08:00
GeWuYou
89b7bcca8a
feat(ecs): 为ECS相关功能添加实验性特性标记
...
- 在ArchitectureContext中的ECS相关方法添加[Experimental]特性
- 在ECS测试类上添加[Experimental]特性标记
- 为ECS基础测试方法添加实验性特性
- 统一使用System.Diagnostics.CodeAnalysis命名空间
- 标记GetEcsWorld、RegisterEcsSystem等核心方法为实验性API
2026-02-23 12:27:16 +08:00
GeWuYou
3db89ab498
refactor(architecture): 重构架构初始化和销毁机制
...
- 将Init方法统一重命名为Initialize方法以提高一致性
- 修改Architecture类中的组件注册逻辑,优化去重判断
- 更新ECS系统基础类以使用新的初始化接口
- 重构EcsWorld类使用属性自动实现而非私有字段
- 移除过时的EcsUsageExample示例文件
- 更新相关测试类以匹配新的初始化方法命名
- 改进代码注释和文档字符串格式
2026-02-23 12:27:16 +08:00
GeWuYou
35845be93f
test(ecs): 添加高级ECS集成测试并完善测试覆盖
...
- 新增EcsAdvancedTests类,包含完整的ECS系统测试套件
- 添加EcsWorld高级功能测试,包括实体创建、销毁和组件操作
- 实现EcsSystemRunner生命周期控制测试,验证启动停止行为
- 添加多系统交互测试,验证优先级执行顺序
- 完善组件操作测试,涵盖增删改查场景
- 集成ArchitectureContext与ECS的测试用例
- 添加依赖注入容器的ECS系统注册测试
- 补充系统运行器异常处理和资源清理测试
2026-02-23 12:27:16 +08:00
GeWuYou
6ee7a52326
fix(mediator): 修复参数验证错误消息中的字符串拼接问题
...
- 修正了 Name 参数为空时错误消息中的字符串拼接格式
- 在错误消息中添加了适当的空格分隔符
2026-02-23 12:27:16 +08:00
GeWuYou
5f3fac2147
test(ecstests): 添加ECS测试并优化中介者测试的异常断言
...
- 添加EcsBasicTests类,实现ECS基础功能测试包括实体创建、组件设置、系统更新等
- 添加EcsIntegrationTests类,实现ECS集成测试包括性能基准测试和优先级调度验证
- 修改MediatorComprehensiveTests中的断言,使用OperationCanceledException替代TaskCanceledException
- 移除流测试中的冗余取消令牌传递,简化异步流的取消测试逻辑
2026-02-23 12:27:16 +08:00
GeWuYou
daff1fa12b
feat(architecture): 集成Arch ECS框架并升级目标框架
...
- 在ArchitectureContext中添加ECS世界和系统调度器支持
- 添加IEcsWorld和IEcsSystem接口定义
- 实现EcsWorld、EcsSystemBase和EcsSystemRunner核心类
- 添加Position和Velocity示例组件及MovementSystem示例
- 创建ECS使用示例代码
- 将多个项目的TargetFramework从netstandard2.0升级到netstandard2.1
- 添加Arch和Arch.System包依赖到核心项目
- 在测试项目中添加ECS相关接口的模拟实现
2026-02-23 12:27:16 +08:00
dependabot[bot]
3f0a2f5bda
Bump NUnit from 4.4.0 to 4.5.0
...
---
updated-dependencies:
- dependency-name: NUnit
dependency-version: 4.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: NUnit
dependency-version: 4.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-20 20:21:40 +08:00
GeWuYou
56769cbf01
feat(architecture): 添加异步销毁功能支持
...
- 在 Architecture 中添加对 IAsyncDestroyable 接口的支持
- 将销毁集合类型从 IDestroyable 改为 object 以支持多种销毁接口
- 实现 DestroyAsync 方法提供异步销毁能力
- 保留旧的同步 Destroy 方法用于向后兼容
- 在 StateMachineSystem 中添加异步销毁状态的支持
- 添加 IAsyncDestroyable、IAsyncInitializable 和 IAsyncLifecycle 接口定义
- 更新测试代码以使用新的异步销毁方法
- 在架构销毁时清理依赖注入容器
2026-02-17 18:41:16 +08:00
GeWuYou
058dff010c
refactor(tests): 移除架构服务测试中的未实现方法
...
- 从 ArchitectureServicesTests 类中删除 QueryAsync 方法
- 从 ArchitectureServicesTests 类中删除 PublishEventAsync 方法
- 从 GameContextTests 类中删除 QueryAsync 方法
- 从 GameContextTests 类中删除 PublishEventAsync 方法
- 清理相关的方法签名和异常抛出代码
- 简化测试类结构,移除不必要的接口实现
2026-02-17 18:41:16 +08:00
GeWuYou
d76751c636
refactor(architecture): 移除查询和事件发布语法糖方法
...
- 删除 ArchitectureContext 中的 QueryAsync 和 PublishEventAsync 扩展方法
- 删除 ContextAwareExtensions 中对应的扩展方法实现
- 从 IArchitectureContext 接口中移除相关方法定义
- 更新测试代码中的参数命名从 command 到 query
- 移除相关的单元测试用例
- 修正 Godot 扩展中对 PublishEventAsync 的调用为 PublishAsync
2026-02-17 18:41:16 +08:00
GeWuYou
984829c368
refactor(coroutine): 移除命令等待事件协程扩展并改进测试
...
- 从 MediatorCoroutineExtensions 中移除 SendCommandAndWaitEventCoroutine 相关代码
- 从 CommandCoroutineExtensionsTests 中移除对应的测试方法
- 更新测试用例验证逻辑,统一使用静态方法调用方式
- 添加新的 MediatorCoroutineExtensionsTests 测试类
- 修改测试方法名称以更准确反映测试行为
- 统一异常处理和参数验证的测试覆盖
2026-02-16 22:44:52 +08:00
GeWuYou
51ed593acb
refactor(cqrs): 重构CQRS架构基础组件并新增核心基类
...
- 将命令相关抽象接口从command目录迁移至cqrs.command目录
- 新增CommandBase、NotificationBase、QueryBase和RequestBase通用基类
- 统一所有CQRS组件的命名空间为GFramework.Core.Abstractions.cqrs
- 更新所有引用位置的using语句指向新的命名空间路径
- 为命令和查询输入接口添加IInput基接口继承
- 在测试文件中同步更新相关的引用路径修改
2026-02-16 20:55:06 +08:00
GeWuYou
7552337b3f
feat(godot): 添加协程扩展功能支持Mediator模式
...
- 新增ContextAwareCoroutineExtensions类,提供IContextAware接口的协程扩展方法
- 实现RunCommandCoroutine、RunQueryCoroutine和RunPublishCoroutine方法
- 将原有CoroutineExtensions重命名为CoroutineNodeExtensions并迁移相关功能
- 添加文件头版权信息到新的协程扩展类
- 重构协程生命周期管理方法,包括RunCoroutine和CancelWith系列方法
- 移除测试文件中关于日志行为的占位测试用例
2026-02-16 19:28:27 +08:00
GeWuYou
d3ffcbc7bf
refactor(tests): 移除状态机测试中的重复代码
...
- 删除了 StateMachineSystemTests.cs 中关于 ChangeTo 方法的基本功能测试
- 删除了 StateMachineTests.cs 中关于状态切换、注册注销等基础功能的测试用例
- 保留了异步操作相关的测试方法以简化测试套件
- 减少了测试文件的代码量并提高维护效率
2026-02-15 22:59:44 +08:00
GeWuYou
38967d047a
feat(core): 扩展ContextAwareExtensions功能并增强状态机系统
...
- 在ContextAwareExtensions中添加事件发送、注册和取消注册方法
- 添加环境对象获取功能
- 扩展命令和查询功能支持同步、异步及中介者模式
- 添加统一请求处理方法和便捷扩展方法
- 为StateMachineSystem添加异步状态切换事件通知功能
- 添加状态机异步操作相关单元测试
- 扩展现有测试类以覆盖新增功能
- [release ci]
2026-02-15 19:00:06 +08:00
GeWuYou
7e2a1ff66d
test(state): 更新状态机上下文获取测试验证逻辑
...
- 将断言修改为验证 GetContext 方法抛出 InvalidOperationException 异常
- 在状态机初始化前验证状态上下文为空的预期行为
- 保持初始化后状态上下文正确设置的验证逻辑
2026-02-15 19:00:06 +08:00
GeWuYou
e6a114fe7b
test(mediator): 调整缓存性能测试的阈值要求
...
- 将缓存性能测试中的性能比较阈值从 2.0 倍放宽到 2.5 倍
- 保持缓存应该比未缓存版本更快的测试逻辑
- 更新了测试断言以适应更宽松的性能标准
- [release ci]
2026-02-14 21:43:07 +08:00
GeWuYou
7c77149ab0
fix(mediator): 修复高级功能测试中的异常处理和断路器逻辑
...
- 将 OperationCanceledException 替换为更具体的 TaskCanceledException
- 修复瞬态错误处理器中的计数器逻辑,仅在 MaxErrors > 0 时递增
- 实现断路器功能,当失败次数达到阈值时打开断路器
- 添加Saga事务的补偿机制,在步骤失败时执行回滚操作
- 为验证行为添加输入验证逻辑
- 注册传统CQRS组件以支持混合模式测试
- 修复架构集成测试中的上下文访问问题
- [release ci]
2026-02-14 19:41:21 +08:00
GeWuYou
bed4f66576
test(mediator): 添加Mediator高级特性和架构集成测试
...
- 实现多通知处理器调用验证功能
- 添加取消令牌对长运行请求的取消支持
- 实现流请求的取消令牌处理机制
- 添加并发请求干扰测试用例
- 实现处理器异常传播验证功能
- 添加多命令处理器共享对象修改测试
- 实现查询缓存功能测试用例
- 添加通知排序保持功能验证
- 实现流请求过滤功能测试
- 添加请求验证行为测试用例
- 实现性能基准测试功能
- 添加传统CQRS与Mediator共存测试
- 实现管道行为测试用例
- 添加高并发性能测试功能
- 实现内存使用稳定性测试
- 添加瞬态错误处理测试用例
- 实现熔断器模式测试功能
- 添加Saga模式一致性测试用例
- 实现请求链式依赖测试功能
- 添加外部服务依赖超时测试
- 实现数据库事务处理测试用例
- 添加架构上下文访问测试功能
- 实现服务检索功能测试用例
- 添加嵌套请求发送测试功能
- 实现生命周期管理测试用例
- 添加作用域服务隔离测试功能
- 实现错误传播测试用例
- 添加上下文性能开销测试功能
- 实现缓存性能提升测试用例
- 添加并发安全访问测试功能
- 实现状态一致性测试用例
- 添加系统集成测试功能
- 实现混合CQRS模式测试用例
2026-02-14 19:41:21 +08:00
GeWuYou
e755c5c7f8
refactor(core): 替换Mediator集成实现为通用服务配置机制
...
- 移除专用的RegisterMediator方法,替换为ExecuteServicesHook通用服务配置方法
- 从架构配置中移除Mediator特定配置选项,改为通用服务配置委托
- 在架构基类中添加Configurator属性支持,允许子类提供自定义服务配置
- 更新测试代码适配新的服务配置方式,通过ExecuteServicesHook注册Mediator
- 移除过时的测试组件和相关验证逻辑
- 删除Mediator.SourceGenerator包引用,保留运行时依赖
- 添加WaitUntilReadyAsync方法的详细文档注释
2026-02-14 19:41:21 +08:00
GeWuYou
a61c796e4d
refactor(tests): 更新查询接口类型引用
...
- 将 Mediator.IQuery<int> 替换为 IQuery<int> 类型引用
- 保持空值参数测试逻辑不变
- 确保类型转换正确性
2026-02-14 19:41:21 +08:00