rebus - Rebus saga 在多个处理程序之间拆分
问题描述
可以将 Rebus saga 拆分为多个处理程序类吗?
我有一个 Rebus saga 工作流,它由许多消息类型启动,并且仅由两种消息类型完成。
而不是让单个类实现所有各种IAmInitiatedBy<T>
,IHandleMessage<T>
我想将它们分成一个类,每条消息启动工作流。还有一个类处理完成工作流的消息。
因此,如果有任何新的需求也可以启动工作流,我只需创建一个新的处理程序而不是更新现有的处理程序。
这是 Rebus Sagas 的有效用例吗?在多个类中拆分处理程序,这些类都使用相同的 SagaData 类型。
对此的初步测试似乎有效,但我们现有的工作流单元测试使用的是 SagaFixture,我无法跨多个夹具一起工作。
解决方案
它应该可以正常工作,但正如您正确发现的那样,SagaFixture
它并不是真正适合提供多种 saga 处理程序类型。
如果您有兴趣提供帮助,我建议您去 fork Rebus.TestHelpers存储库。我很乐意帮助您提交 PR。
推荐阅读
- firebase - 使用 expo 权限反应原生 firebase 推送通知
- c++ - 我如何解决这个没有匹配的函数来调用'stoi(int&)'|
- reactjs - 如何将 webpack 配置为代码拆分小型静态反应页面
- reactjs - React JS 登录和路由器未按预期工作
- android - 为什么 FingerprintManager.AuthenticationCallback 在前台服务中没有响应?
- kaitai-struct - kaitai-struct-compiler 生成与 webIDE 不同的文件
- api - 如何解决 HTTPError: 400 Client Error: Bad Request for URL inRobot Frame work
- git - mkdir: 无法创建目录 '/dev/shm': 只读文件系统
- c# - 在 Discord Rich Embed 上显示字节数组图像
- docker - 使用 Go 模板获取 docker 图像路径的最后一个元素