java—在运行行为测试之前插入事件以获得所需的状态

lrpiutwd  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(239)

我正在尝试在执行某些命令之前插入事件。我想让我的行为处于一种为特定测试做好准备的状态,而不需要重新运行所有命令,就像常规测试中的数据库装置一样。
我正在使用:

akka.persistence.testkit.javadsl.EventSourcedBehaviorTestKit`
akka.actor.testkit.typed.javadsl.ActorTestKit`
akka.persistence.testkit.javadsl.PersistenceTestKit

我创建测试包:

static final ActorTestKit testKit = ActorTestKit.create(EventSourcedBehaviorTestKit.config());

static final EventSourcedBehaviorTestKit<Command, Event, State> eventSourcedTestKit = EventSourcedBehaviorTestKit.create(
    testKit.system(),
    MyPersistentBehaviour.create(),
    EventSourcedBehaviorTestKit.disabledSerializationSettings()
);

然后我试着做:

eventSourcedTestKit.persistenceTestKit().persistForRecovery(
    "1",
    //List of my akka events
);
eventSourcedTestKit.restart();

但只要我试着 runCommand 我坚持的那些事件不适用。
这是个好办法吗?

wyyhbhjk

wyyhbhjk1#

问题是我通过了 "1" 当我调用 persistForRecovery 这是错误的,persistenceid是实体名+id的组合,所以它看起来像 "order|1" .

相关问题