I am getting
Type mismatch: expected ReaperSpec.this.Register, actual: String
where expectMsg(...)
is when using AkkaTest with ScalaTest as specified here
(http://doc.akka.io/docs/akka/snapshot/scala/testing.html)
What am I missing?
import akka.actor.{ActorSystem, Props}
import akka.testkit.{TestKit, TestProbe}
import system.Reaper.WatchMe
import org.scalatest.{BeforeAndAfterAll, MustMatchers, WordSpecLike}
class ReaperSpec(_system: ActorSystem) extends TestKit(_system)
with WordSpecLike with MustMatchers with BeforeAndAfterAll {
def this() = this(ActorSystem("Reaper"))
override protected def afterAll(): Unit = TestKit.shutdownActorSystem(system)
"A reaper" must {
"terminated when all child actors are stopped" in {
val probeA = TestProbe()
val probeB = TestProbe()
val reaper = system.actorOf(Props(classOf[Reaper]))
reaper ! WatchMe(probeA.ref)
reaper ! WatchMe(probeB.ref)
system.stop(probeA.ref)
system.stop(probeB.ref)
expectMsg("Dead")
}
}
}
Seems like I was using the wrong scala test version. I was using 3.0.0-M9. Changing it to 2.2.5 worked.