Merge pull request #18214 from ktoso/wip-18061-testactorref-dislikes-persistentactor-ktoso

=per,doc #18061 doc that Persistence won't work with TestActorRef
This commit is contained in:
Konrad Malawski 2015-08-14 13:49:23 +02:00
commit 9422baf5a2
6 changed files with 37 additions and 7 deletions

View file

@ -853,6 +853,14 @@ or
in your Akka configuration. The LevelDB Java port is for testing purposes only.
.. warning::
It is not possible to test persistence provided classes (i.e. :ref:`PersistentActor <event-sourcing-java>`
and :ref:`AtLeastOnceDelivery <at-least-once-delivery-java>`) using ``TestActorRef`` due to its *synchronous* nature.
These traits need to be able to perform asynchronous tasks in the background in order to handle internal persistence
related events.
When testing Persistence based projects always rely on :ref:`asynchronous messaging using the TestKit <async-integration-testing-java>`.
Multiple persistence plugin configurations
==========================================

View file

@ -844,6 +844,14 @@ or
in your Akka configuration. The LevelDB Java port is for testing purposes only.
.. warning::
It is not possible to test persistence provided classes (i.e. :ref:`PersistentActor <event-sourcing-java>`
and :ref:`AtLeastOnceDelivery <at-least-once-delivery-java>`) using ``TestActorRef`` due to its *synchronous* nature.
These traits need to be able to perform asynchronous tasks in the background in order to handle internal persistence
related events.
When testing Persistence based projects always rely on :ref:`asynchronous messaging using the TestKit <async-integration-testing-java>`.
Configuration
=============

View file

@ -70,6 +70,7 @@ section below.
to ask the Actor to reply with the state you want to run assertions against),
instead of using ``TestActorRef`` whenever possible.
.. warning::
Due to the synchronous nature of ``TestActorRef`` it will **not** work with some support
traits that Akka provides as they require asynchronous behaviours to function properly.
Examples of traits that do not mix well with test actor refs are :ref:`PersistentActor <event-sourcing-java>`
@ -151,6 +152,8 @@ Feel free to experiment with the possibilities, and if you find useful
patterns, don't hesitate to let the Akka forums know about them! Who knows,
common operations might even be worked into nice DSLs.
.. _async-integration-testing-java:
Asynchronous Integration Testing with :class:`JavaTestKit`
==========================================================