В моих тестах Akka Actor у меня есть особая черта, которая вызывает registry.shutdownAll
после запуска всех фрагментов. Таким образом, несмотря на то, что вам по-прежнему необходимо соблюдать осторожность, чтобы ваши тесты могли работать параллельно, не наступая друг на друга, после выполнения всех тестов все будет очищено. Вот черта:
import org.specs2.Specification
import org.specs2.specification.{Step,Fragments}
import akka.actor.Actor.registry
trait AkkaSpec extends Specification {
override def map(fs: => Fragments) = fs ^ Step(registry.shutdownAll)
}
class EventHandlerProblem extends AkkaSpec {
def is =
"This describes a possible problem with the EventHandler" ^
p ^
"The EventHandler should" ^
"not keep spinning forever...." ! e1
end
def e1 = {
// no need to start the actor
val ac = TestActorRef[PrintMessageActor]
true must beTrue
}
}
class PrintMessageActor extends Actor {
EventHandler.info(this, "Printer actor is starting up...")
def receive = {
case msg => {
println("Recieved: " + msg)
}
}
}