首页 文章

在测试时清除Akka-persistance中的源事件

提问于
浏览
0

我正在编写一个具有Akka-persistance的模块,并且在单元测试中遇到了一个问题:所有事件都是在测试期间获得的,因此状态发生了变化 . 当我再次运行hte测试套件时,事件会被重放,因此演员不会以它应该具有的初始状态开始 .

原始解决方案是每次都删除本地事件存储,或者每次都更改persistenceId . 两者都太粗糙了 .

有没有办法将其纳入测试套件?

1 回答

  • 2

    在单元测试时,您应该使用内存中的事件存储 . 看看https://github.com/dnvriend/akka-persistence-inmemory .

    使用内存中的事件存储,您可以在每次测试之前轻松擦除整个存储 . 有关如何完成此操作,请参阅Clearing Journal and Snapshot messages部分 . 您应该能够将其调整为您选择的单元测试框架 .

    您还将看到测试设置时间的良好推动,并且您的事件存储将在每次测试时被隔离和清理 .

相关问题