Package akka.testkit

Class TestActorRef<T extends Actor>

  • All Implemented Interfaces:
    ActorRefScope, LocalRef, ScalaActorRef, java.io.Serializable, java.lang.Comparable<ActorRef>
    Direct Known Subclasses:
    TestFSMRef

    public class TestActorRef<T extends Actor>
    extends LocalActorRef
    This special ActorRef is exclusively for use during unit testing in a single-threaded environment. Therefore, it overrides the dispatcher to CallingThreadDispatcher and sets the receiveTimeout to None. Otherwise, it acts just like a normal ActorRef. You may retrieve a reference to the underlying actor to test internal logic.

    Since:
    1.1
    See Also:
    Serialized Form
    • Constructor Detail

      • TestActorRef

        public TestActorRef​(ActorSystem _system,
                            Props _props,
                            ActorRef _supervisor,
                            java.lang.String name)
    • Method Detail

      • randomName

        public static java.lang.String randomName()
      • apply

        public static <T extends ActorTestActorRef<T> apply​(scala.Function0<T> factory,
                                                              scala.reflect.ClassTag<T> evidence$1,
                                                              ActorSystem system)
      • apply

        public static <T extends ActorTestActorRef<T> apply​(scala.Function0<T> factory,
                                                              java.lang.String name,
                                                              scala.reflect.ClassTag<T> evidence$2,
                                                              ActorSystem system)
      • apply

        public static <T extends ActorTestActorRef<T> apply​(java.lang.String name,
                                                              scala.reflect.ClassTag<T> t,
                                                              ActorSystem system)
      • create

        public static <T extends ActorTestActorRef<T> create​(ActorSystem system,
                                                               Props props,
                                                               ActorRef supervisor,
                                                               java.lang.String name)
        Java API: create a TestActorRef in the given system for the given props, with the given supervisor and name.
      • create

        public static <T extends ActorTestActorRef<T> create​(ActorSystem system,
                                                               Props props,
                                                               ActorRef supervisor)
        Java API: create a TestActorRef in the given system for the given props, with the given supervisor and a random name.
      • create

        public static <T extends ActorTestActorRef<T> create​(ActorSystem system,
                                                               Props props,
                                                               java.lang.String name)
        Java API: create a TestActorRef in the given system for the given props, with the given name.
      • create

        public static <T extends ActorTestActorRef<T> create​(ActorSystem system,
                                                               Props props)
        Java API: create a TestActorRef in the given system for the given props, with a random name.
      • props

        public Props props()
      • receive

        public void receive​(java.lang.Object o)
        Directly inject messages into actor receive behavior. Any exceptions thrown will be available to you, while still being able to use become/unbecome.
      • receive

        public void receive​(java.lang.Object o,
                            ActorRef sender)
        Directly inject messages into actor receive behavior. Any exceptions thrown will be available to you, while still being able to use become/unbecome.
      • underlyingActor

        public T underlyingActor()
        Retrieve reference to the underlying actor, where the static type matches the factory used inside the constructor. Beware that this reference is discarded by the ActorRef upon restarting the actor (should this reference be linked to a supervisor). The old Actor may of course still be used in post-mortem assertions.
      • watch

        public ActorRef watch​(ActorRef subject)
        Registers this actor to be a death monitor of the provided ActorRef This means that this actor will get a Terminated()-message when the provided actor is permanently terminated.

        Returns:
        the same ActorRef that is provided to it, to allow for cleaner invocations
      • unwatch

        public ActorRef unwatch​(ActorRef subject)
        Unregisters this actor from being a death monitor of the provided ActorRef This means that this actor will not get a Terminated()-message when the provided actor is permanently terminated.

        Returns:
        the same ActorRef that is provided to it, to allow for cleaner invocations
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class ActorRef