【问题标题】:Is it possible to expect dispatch command from a non axon-class in AxonFramework是否可以期望来自 AxonFramework 中非轴突类的调度命令
【发布时间】:2020-07-13 09:39:19
【问题描述】:

假设我有一些不是 axon 类的类(等 Saga 或 agrgregate),如果我想让它调度命令,我可以使用命令网关,但问题就在这里。我想写 单元测试以确保这个非轴突类已经调度命令。因此,如果它是 saga 或聚合,我可以使用夹具,然后给出命令或事件,但是否也可以将夹具与这些非轴突类一起使用。
这是代码的样子

class MyService {
    //...
    lateinit var commandGateway: CommandGateway
    fun doSomething(command: doSomethingCommand){
        commandGateway.send(command)
    }
}

class MyServiceTest {
    //...
    @Test
    fun doSomething_ShouldDispatchDoSomethingCommand(){
        // expect dispatch command from non axon-class
    }
}

【问题讨论】:

    标签: kotlin axon


    【解决方案1】:

    正如您所注意到的,Axon Framework 为 Aggregates 和 Sagas 提供了测试装置,而没有指定任何其他选项。 AggregateTestFixture 确实提供了一种符合您要求的方法,即AggregateTestFixture#registerAnnotatedCommandHandler。但是,这是为了验证包含 @CommandHandler 注释方法的组件,而不是验证调度。

    因此,我认为最直接的方法是模拟或监视CommandGateway/CommandBus 以进行诚实的验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 2010-12-19
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多