Axon: JUnit测试。如何通过testFixture更改给定事件的创建时间?
创始人
2024-09-29 07:30:36
0

在Axon中,可以使用FixtureConfiguration来创建一个测试上下文,以便进行单元测试。通过使用FixtureConfigurationgivenCommands方法,可以模拟发送给聚合根的命令,然后使用when方法来触发事件的处理。默认情况下,事件的创建时间是由Axon自动设置的,但是可以通过以下方法更改给定事件的创建时间:

import org.axonframework.test.FixtureConfiguration;
import org.axonframework.test.Fixtures;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.time.Instant;

public class MyAggregateTest {

    private FixtureConfiguration fixture;

    @BeforeEach
    public void setUp() {
        fixture = Fixtures.newGivenWhenThenFixture(MyAggregate.class);
    }

    @Test
    public void testChangeEventCreationTime() {
        Instant newCreationTime = Instant.now().minusSeconds(3600); // 设置新的创建时间

        fixture.givenCommands(new CreateMyAggregateCommand())
                .when(new SomeEventWithCreationTime(newCreationTime))
                .expectEvents(new SomeEventWithCreationTime(newCreationTime));
    }
}

在上面的示例中,我们首先使用Fixtures.newGivenWhenThenFixture创建了一个FixtureConfiguration。然后,使用fixture.givenCommands方法模拟发送给聚合根的命令。接下来,使用fixture.when方法触发事件的处理。在这里,我们创建了一个新的事件SomeEventWithCreationTime,并将新的创建时间作为参数传递给它。最后,使用fixture.expectEvents断言预期的事件,其中包括具有正确创建时间的事件。

这样,我们就可以在Axon的JUnit测试中更改给定事件的创建时间。

相关内容

热门资讯

透视了解!aapoker发牌逻... 透视了解!aapoker发牌逻辑(透视)果然存在有挂(详细辅助攻略教程)辅助器中分为三种模型:软件透...
免费测试版!aapoker怎么... 免费测试版!aapoker怎么提高中牌率,hhpoker买挂,安装教程(有挂技巧);aapoker怎...
透视模拟器!德普之星透视辅助软... 透视模拟器!德普之星透视辅助软件激活码(透视)都是存在有挂(详细辅助AI教程)1、德普之星透视辅助软...
玩家必用!菠萝辅助器免费版的特... 玩家必用!菠萝辅助器免费版的特点,we poker辅助器下载,详细教程(有挂透视);致您一封信;亲爱...
透视存在!wepoker线上大... 透视存在!wepoker线上大神(透视)切实存在有挂(详细辅助安装教程)1、上手简单,内置详细流程视...
一分钟了解!wpk俱乐部辅助器... 一分钟了解!wpk俱乐部辅助器,拱趴大菠萝挂,线上教程(有挂方法);1.wpk俱乐部辅助器 ai辅助...
透视透视挂!如何下载德普之星辅... 透视透视挂!如何下载德普之星辅助软件(透视)确实是真的有挂(详细辅助扑克教程);1、下载好辅助软件之...
最新技巧!we-poker辅助... 最新技巧!we-poker辅助,hhpoker是真的还是假的,系统教程(有挂方法)1、玩家可以在hh...
透视辅助!xpoker辅助(透... 透视辅助!xpoker辅助(透视)原来真的是有挂(详细辅助解密教程);1、透视辅助简单,软件透明挂操...
总算了解!wepoker免费透... 总算了解!wepoker免费透视脚本,wepoker怎么开辅助,2025新版(有挂教程)1、很好的工...