scala
libraryDependencies += "com.typesafe.akka" %% "akka-testkit" % "2.6.16" % "test"
scala
import akka.actor.Actor
class UpperCaseActor extends Actor {
def receive: Receive = {
case message: String =>
val upperCaseMessage = message.toUpperCase()
sender() ! upperCaseMessage
}
}
scala
import akka.actor.ActorSystem
import akka.testkit.{ImplicitSender, TestActorRef, TestKit}
import org.scalatest.{BeforeAndAfterAll, Matchers, WordSpecLike}
class UpperCaseActorSpec extends TestKit(ActorSystem("testSystem"))
with ImplicitSender
with WordSpecLike
with Matchers
with BeforeAndAfterAll {
override def afterAll(): Unit = {
TestKit.shutdownActorSystem(system)
}
"An UpperCaseActor" should {
"return upper case of the message" in {
val upperCaseActorRef = TestActorRef[UpperCaseActor]
val upperCaseActor = upperCaseActorRef.underlyingActor
val message = "hello"
upperCaseActorRef ! message
expectMsg("HELLO")
}
}
}