Class BehaviorTestKit<T>
- java.lang.Object
-
- org.apache.pekko.actor.testkit.typed.javadsl.BehaviorTestKit<T>
-
public abstract class BehaviorTestKit<T> extends java.lang.Object
Used for synchronous testingpekko.actor.typed.Behavior
s. Stores all effects e.g. Spawning of children, watching and offers access to what effects have taken place.Not for user extension or instantiation. See
BehaviorTestKit.create
factory methodsFor asynchronous testing of
Behavior
s running seeActorTestKit
-
-
Constructor Summary
Constructors Constructor Description BehaviorTestKit()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static com.typesafe.config.Config
applicationTestConfig()
JAVA APIabstract <U> TestInbox<U>
childInbox(java.lang.String name)
Get the child inbox for the child with the given name, or fail if there is no child with the given name spawnedabstract <U> TestInbox<U>
childInbox(ActorRef<U> child)
Get the child inbox for the child with the given name, or fail if there is no child with the given name spawnedabstract <U> BehaviorTestKit<U>
childTestKit(ActorRef<U> child)
Get thepekko.actor.typed.Behavior
testkit for the given childpekko.actor.typed.ActorRef
.abstract void
clearLog()
Clear the log entriesstatic <T> BehaviorTestKit<T>
create(Behavior<T> initialBehavior)
JAVA APIstatic <T> BehaviorTestKit<T>
create(Behavior<T> initialBehavior, java.lang.String name)
JAVA APIstatic <T> BehaviorTestKit<T>
create(Behavior<T> initialBehavior, java.lang.String name, com.typesafe.config.Config config)
JAVA APIabstract Behavior<T>
currentBehavior()
The current behavior, can change any timerun
is calledabstract void
expectEffect(Effect expectedEffect)
Asserts that the oldest effect is the expectedEffect.abstract <U extends Effect>
UexpectEffectClass(java.lang.Class<U> effectClass)
Asserts that the oldest effect is an instance of of class T.abstract java.util.List<Effect>
getAllEffects()
Requests all the effects.abstract java.util.List<CapturedLogEvent>
getAllLogEntries()
Returns all theCapturedLogEvent
issued by this behavior(s)abstract Effect
getEffect()
Requests the oldestEffect
orpekko.actor.testkit.typed.javadsl.Effects.noEffects
if no effects have taken place.ActorRef<T>
getRef()
The self reference of the actor living inside this testkit.abstract boolean
hasEffects()
Returns if there have been any effects.abstract boolean
isAlive()
Is the current behavior alive or stoppedabstract TestInbox<Receptionist.Command>
receptionistInbox()
The receptionist inbox contains messages sent tosystem.receptionist
abstract Behavior<T>
returnedBehavior()
Returns the current behavior as it was returned from processing the previous message.abstract void
run(T message)
Send the message to the behavior and record anyEffect
sabstract void
runOne()
Send the first message in the selfInbox to the behavior and run it, recordingEffect
s.abstract TestInbox<T>
selfInbox()
The self inbox contains messages the behavior sent tocontext.self
abstract void
signal(Signal signal)
Send the signal to the beheavior and record anyEffect
s
-
-
-
Method Detail
-
applicationTestConfig
public static com.typesafe.config.Config applicationTestConfig()
JAVA API
-
create
public static <T> BehaviorTestKit<T> create(Behavior<T> initialBehavior, java.lang.String name, com.typesafe.config.Config config)
JAVA API
-
create
public static <T> BehaviorTestKit<T> create(Behavior<T> initialBehavior, java.lang.String name)
JAVA API
-
create
public static <T> BehaviorTestKit<T> create(Behavior<T> initialBehavior)
JAVA API
-
getEffect
public abstract Effect getEffect()
Requests the oldestEffect
orpekko.actor.testkit.typed.javadsl.Effects.noEffects
if no effects have taken place. The effect is consumed, subsequent calls won't will not include this effect.
-
childInbox
public abstract <U> TestInbox<U> childInbox(java.lang.String name)
Get the child inbox for the child with the given name, or fail if there is no child with the given name spawned
-
childInbox
public abstract <U> TestInbox<U> childInbox(ActorRef<U> child)
Get the child inbox for the child with the given name, or fail if there is no child with the given name spawned
-
childTestKit
public abstract <U> BehaviorTestKit<U> childTestKit(ActorRef<U> child)
Get thepekko.actor.typed.Behavior
testkit for the given childpekko.actor.typed.ActorRef
.
-
selfInbox
public abstract TestInbox<T> selfInbox()
The self inbox contains messages the behavior sent tocontext.self
-
getAllEffects
public abstract java.util.List<Effect> getAllEffects()
Requests all the effects. The effects are consumed, subsequent calls will only see new effects.
-
hasEffects
public abstract boolean hasEffects()
Returns if there have been any effects.
-
expectEffect
public abstract void expectEffect(Effect expectedEffect)
Asserts that the oldest effect is the expectedEffect. Removing it from further assertions.
-
expectEffectClass
public abstract <U extends Effect> U expectEffectClass(java.lang.Class<U> effectClass)
Asserts that the oldest effect is an instance of of class T. Consumes and returns the concrete effect for further direct assertions.
-
currentBehavior
public abstract Behavior<T> currentBehavior()
The current behavior, can change any timerun
is called
-
returnedBehavior
public abstract Behavior<T> returnedBehavior()
Returns the current behavior as it was returned from processing the previous message. For example ifpekko.actor.typed.javadsl.Behaviors.unhandled
is returned it will be kept here, but not incurrentBehavior()
.
-
isAlive
public abstract boolean isAlive()
Is the current behavior alive or stopped
-
run
public abstract void run(T message)
Send the message to the behavior and record anyEffect
s
-
runOne
public abstract void runOne()
Send the first message in the selfInbox to the behavior and run it, recordingEffect
s.
-
signal
public abstract void signal(Signal signal)
Send the signal to the beheavior and record anyEffect
s
-
getAllLogEntries
public abstract java.util.List<CapturedLogEvent> getAllLogEntries()
Returns all theCapturedLogEvent
issued by this behavior(s)
-
clearLog
public abstract void clearLog()
Clear the log entries
-
receptionistInbox
public abstract TestInbox<Receptionist.Command> receptionistInbox()
The receptionist inbox contains messages sent tosystem.receptionist
-
-