There is really nothing special to it, you basically just have tests that looks like the actor samples but using the specs2 test syntax instead. If you want to use the akka test utilities you will have to add an explicit dependency on it from your build.sbt
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-testkit" % "2.2.0" % "test"
)
Then there is nothing special to it, except that you cannot inherit TestKit on the test class since Specification also is a class and there are name classes. This is an example of how you could use a custom Scope for using TestKit:
import org.specs2.specification.Scope
class ActorSpec extends Specification {
class Actors extends TestKit(ActorSystem("test")) with Scope
"My actor" should {
"do something" in new Actors {
val actor = system.actorOf(Props[SomeActor])
val probe = TestProbe()
actor.tell("Ping", probe.ref)
probe.expectMsg("Pong")
}
"do something else" in new Actors { new WithApplication {
val actor = system.actorOf(Props[SomeActorThatDependsOnApplication])
val probe = TestProbe()
actor.tell("Ping", probe.ref)
probe.expectMsg("Pong")
}}
}
}