OpenCQRS 2.0: Tests That Read Like the Domain
7 days ago
- #testing
- #event-sourcing
- #cqrs
- OpenCQRS 2.0 引入了流畅的 Given/When/Then 领域特定语言,使得基于事件溯源测试读起来像领域规范,作为不会过时的文档。
- 事件溯源通过减少形式化、消除对模拟对象的需求,并将测试建模为以事件为输入和输出的纯函数来镜像命令处理器,从而改变了测试方式。
- 该框架通过 SubjectIsPopulated 和 EventQlQueryIsTrue 等前置条件强制执行一致性,确保测试与数据库强制执行的业务规则保持一致。
- 此次更新包括现代化改进,如 Spring Boot 4.1、Jackson 3、Gradle 9、EventSourcingDB 1.2 支持,以及用于更好空安全的 JSpecify 注解。
- OpenCQRS 2.0 还新增了诸如 readSubjects 用于层次化流发现功能,并改进了测试中对确定性时间的处理,以支持时间性领域规则。