akka.testkit
Class TestActorRef<T extends Actor>

java.lang.Object
  extended by akka.actor.LocalActorRef
      extended by akka.testkit.TestActorRef<T>
Direct Known Subclasses:
TestFSMRef

public class TestActorRef<T extends Actor>
extends akka.actor.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

Constructor Summary
TestActorRef(ActorSystem _system, Props _props, ActorRef _supervisor, java.lang.String name)
           
 
Method Summary
static
<T extends Actor>
TestActorRef<T>
apply(scala.reflect.ClassTag<T> t, ActorSystem system)
           
static
<T extends Actor>
TestActorRef<T>
apply(scala.Function0<T> factory, scala.reflect.ClassTag<T> evidence$1, ActorSystem system)
           
static
<T extends Actor>
TestActorRef<T>
apply(scala.Function0<T> factory, java.lang.String name, scala.reflect.ClassTag<T> evidence$2, ActorSystem system)
           
static
<T extends Actor>
TestActorRef<T>
apply(Props props, ActorRef supervisor, java.lang.String name, ActorSystem system)
           
static
<T extends Actor>
TestActorRef<T>
apply(Props props, ActorSystem system)
           
static
<T extends Actor>
TestActorRef<T>
apply(Props props, java.lang.String name, ActorSystem system)
           
static
<T extends Actor>
TestActorRef<T>
apply(java.lang.String name, scala.reflect.ClassTag<T> t, ActorSystem system)
           
static
<T extends Actor>
TestActorRef<T>
create(ActorSystem system, Props props)
          Java API: create a TestActorRef in the given system for the given props, with a random name.
static
<T extends Actor>
TestActorRef<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.
 MessageDispatcher dispatcher()
           
protected  akka.actor.ActorCell newActorCell(akka.actor.ActorSystemImpl system, akka.actor.InternalActorRef ref, Props props, MessageDispatcher dispatcher, akka.actor.InternalActorRef supervisor)
           
 Props props()
           
 void receive(java.lang.Object o)
          Directly inject messages into actor receive behavior.
 void receive(java.lang.Object o, ActorRef sender)
          Directly inject messages into actor receive behavior.
 java.lang.String toString()
           
 T underlyingActor()
          Retrieve reference to the underlying actor, where the static type matches the factory used inside the constructor.
 ActorRef unwatch(ActorRef subject)
          Deregisters 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.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TestActorRef

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

apply

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

apply

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

apply

public static <T extends Actor> TestActorRef<T> apply(Props props,
                                                      ActorSystem system)

apply

public static <T extends Actor> TestActorRef<T> apply(Props props,
                                                      java.lang.String name,
                                                      ActorSystem system)

apply

public static <T extends Actor> TestActorRef<T> apply(Props props,
                                                      ActorRef supervisor,
                                                      java.lang.String name,
                                                      ActorSystem system)

apply

public static <T extends Actor> TestActorRef<T> apply(scala.reflect.ClassTag<T> t,
                                                      ActorSystem system)

apply

public static <T extends Actor> TestActorRef<T> apply(java.lang.String name,
                                                      scala.reflect.ClassTag<T> t,
                                                      ActorSystem system)

create

public static <T extends Actor> TestActorRef<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 Actor> TestActorRef<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()

dispatcher

public MessageDispatcher dispatcher()

newActorCell

protected akka.actor.ActorCell newActorCell(akka.actor.ActorSystemImpl system,
                                            akka.actor.InternalActorRef ref,
                                            Props props,
                                            MessageDispatcher dispatcher,
                                            akka.actor.InternalActorRef supervisor)

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)
Deregisters 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()