abstract class BehaviorTestKit[T] extends AnyRef
Used for synchronous testing akka.actor.typed.Behaviors. 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 methods
For asynchronous testing of Behavior
s running see ActorTestKit
- Annotations
- @DoNotInherit() @ApiMayChange()
- Source
- BehaviorTestKit.scala
- Alphabetic
- By Inheritance
- BehaviorTestKit
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new BehaviorTestKit()
Abstract Value Members
- abstract def childInbox[U](child: typed.ActorRef[U]): TestInbox[U]
Get the child inbox for the child with the given name, or fail if there is no child with the given name spawned
- abstract def childInbox[U](name: String): TestInbox[U]
Get the child inbox for the child with the given name, or fail if there is no child with the given name spawned
- abstract def childTestKit[U](child: typed.ActorRef[U]): BehaviorTestKit[U]
Get the akka.actor.typed.Behavior testkit for the given child akka.actor.typed.ActorRef.
- abstract def clearLog(): Unit
Clear the log entries
- abstract def currentBehavior: Behavior[T]
The current behavior, can change any time
run
is called - abstract def expectEffect(expectedEffect: Effect): Unit
Asserts that the oldest effect is the expectedEffect.
Asserts that the oldest effect is the expectedEffect. Removing it from further assertions.
- abstract def expectEffectClass[U <: Effect](effectClass: Class[U]): U
Asserts that the oldest effect is an instance of of class T.
Asserts that the oldest effect is an instance of of class T. Consumes and returns the concrete effect for further direct assertions.
- abstract def getAllEffects(): List[Effect]
Requests all the effects.
Requests all the effects. The effects are consumed, subsequent calls will only see new effects.
- abstract def getAllLogEntries(): List[CapturedLogEvent]
Returns all the CapturedLogEvent issued by this behavior(s)
- abstract def getEffect(): Effect
Requests the oldest Effect or akka.actor.testkit.typed.javadsl.Effects.noEffects if no effects have taken place.
Requests the oldest Effect or akka.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.
- abstract def hasEffects(): Boolean
Returns if there have been any effects.
- abstract def isAlive: Boolean
Is the current behavior alive or stopped
- abstract def receptionistInbox(): TestInbox[Command]
The receptionist inbox contains messages sent to
system.receptionist
- abstract def returnedBehavior: Behavior[T]
Returns the current behavior as it was returned from processing the previous message.
Returns the current behavior as it was returned from processing the previous message. For example if Behaviors.unhandled is returned it will be kept here, but not in currentBehavior.
- abstract def run(message: T): Unit
Send the message to the behavior and record any Effects
- abstract def runAsk[Res](messageFactory: Function[typed.ActorRef[Res], T]): ReplyInbox[Res]
Constructs a message using the provided 'messageFactory' to inject a single-use "reply to" akka.actor.typed.ActorRef, and sends the constructed message to the behavior, recording any Effects.
Constructs a message using the provided 'messageFactory' to inject a single-use "reply to" akka.actor.typed.ActorRef, and sends the constructed message to the behavior, recording any Effects.
The returned ReplyInbox allows the message sent to the "reply to"
ActorRef
to be asserted on. - abstract def runAskWithStatus[Res](messageFactory: Function[typed.ActorRef[StatusReply[Res]], T]): StatusReplyInbox[Res]
The same as runAsk but only for requests that result in a response of type akka.pattern.StatusReply.
- abstract def runOne(): Unit
Send the first message in the selfInbox to the behavior and run it, recording Effects.
- abstract def selfInbox(): TestInbox[T]
The self inbox contains messages the behavior sent to
context.self
- abstract def signal(signal: Signal): Unit
Send the signal to the beheavior and record any Effects
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from BehaviorTestKit[T] toany2stringadd[BehaviorTestKit[T]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (BehaviorTestKit[T], B)
- Implicit
- This member is added by an implicit conversion from BehaviorTestKit[T] toArrowAssoc[BehaviorTestKit[T]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def ensuring(cond: (BehaviorTestKit[T]) => Boolean, msg: => Any): BehaviorTestKit[T]
- Implicit
- This member is added by an implicit conversion from BehaviorTestKit[T] toEnsuring[BehaviorTestKit[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (BehaviorTestKit[T]) => Boolean): BehaviorTestKit[T]
- Implicit
- This member is added by an implicit conversion from BehaviorTestKit[T] toEnsuring[BehaviorTestKit[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): BehaviorTestKit[T]
- Implicit
- This member is added by an implicit conversion from BehaviorTestKit[T] toEnsuring[BehaviorTestKit[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): BehaviorTestKit[T]
- Implicit
- This member is added by an implicit conversion from BehaviorTestKit[T] toEnsuring[BehaviorTestKit[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def getRef(): typed.ActorRef[T]
The self reference of the actor living inside this testkit.
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def runAsk[Res](responseClass: Class[Res], messageFactory: Function[typed.ActorRef[Res], T]): ReplyInbox[Res]
The same as runAsk, but with the response class specified.
The same as runAsk, but with the response class specified. This improves type inference in Java when asserting on the reply in the same statement as the
runAsk
as in:testkit.runAsk(Done.class, DoSomethingCommand::new).expectReply(Done.getInstance());
If explicitly saving the ReplyInbox in a variable, the version without the class may be preferred.
- Annotations
- @nowarn()
- def runAskWithStatus[Res](responseClass: Class[Res], messageFactory: Function[typed.ActorRef[StatusReply[Res]], T]): StatusReplyInbox[Res]
The same as runAskWithStatus, but with the response class specified.
The same as runAskWithStatus, but with the response class specified. This improves type inference in Java when asserting on the reply in the same statement as the
runAskWithStatus
as in:testkit.runAskWithStatus(Done.class, DoSomethingWithStatusCommand::new).expectValue(Done.getInstance());
If explicitly saving the StatusReplyInbox in a variable, the version without the class may be preferred.
- Annotations
- @nowarn()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from BehaviorTestKit[T] toStringFormat[BehaviorTestKit[T]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (BehaviorTestKit[T], B)
- Implicit
- This member is added by an implicit conversion from BehaviorTestKit[T] toArrowAssoc[BehaviorTestKit[T]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.