2016-10-26 5 views
0

Akka-persistance가있는 모듈을 작성하고 unittesting에서 문제가 발생했습니다. 테스트 중에 모든 이벤트가 소스이므로 상태가 변경됩니다. hte 테스트 스위트를 다시 실행하면 이벤트가 재생되므로 배우가 처음 상태에서 시작하지 않습니다.테스트 할 때 Akka-persistance의 소스 이벤트를 제거하십시오.

미약 한 해결책은 매번 로컬 이벤트 저장소를 삭제하거나 매번 persistenceId를 변경하는 것입니다. 둘 다 너무 미숙하다.

테스트 스위트에 통합 할 수있는 방법이 있습니까?

답변

2

단위 테스트시 메모리 내장 이벤트 저장소를 사용해야합니다. https://github.com/dnvriend/akka-persistence-inmemory을보십시오.

메모리 내 이벤트 저장소를 사용하면 각 테스트 전에 전체 저장소를 손쉽게 지울 수 있습니다. 이 작업이 어떻게 수행되는지는 Clearing Journal and Snapshot messages 섹션을 참조하십시오. 이를 원하는 단위 테스트 프레임 워크에 적용 할 수 있어야합니다.

테스트 설정 시간이 많이 향상되고 이벤트 저장소가 각 테스트마다 분리되고 정리됩니다.