我正在尝试在执行某些命令之前插入事件。我想让我的行为处于一种为特定测试做好准备的状态,而不需要重新运行所有命令,就像常规测试中的数据库装置一样。
我正在使用:
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
我坚持的那些事件不适用。
这是个好办法吗?
1条答案
按热度按时间wyyhbhjk1#
问题是我通过了
"1"
当我调用persistForRecovery
这是错误的,persistenceid是实体名+id的组合,所以它看起来像"order|1"
.