Merge branch 'tmp'
This commit is contained in:
commit
9463c9ff6c
2 changed files with 78 additions and 75 deletions
|
|
@ -6,8 +6,10 @@ package docs.actor
|
||||||
import language.postfixOps
|
import language.postfixOps
|
||||||
|
|
||||||
//#testkit
|
//#testkit
|
||||||
import akka.testkit.{ AkkaSpec, ImplicitSender, EventFilter }
|
import akka.testkit.{ TestKit, ImplicitSender, EventFilter }
|
||||||
import akka.actor.{ ActorRef, Props, Terminated }
|
import akka.actor.{ ActorRef, Props, ActorSystem, Terminated }
|
||||||
|
import org.scalatest._
|
||||||
|
import com.typesafe.config.{ Config, ConfigFactory }
|
||||||
|
|
||||||
//#testkit
|
//#testkit
|
||||||
object FaultHandlingDocSpec {
|
object FaultHandlingDocSpec {
|
||||||
|
|
@ -16,8 +18,6 @@ object FaultHandlingDocSpec {
|
||||||
import akka.actor.Actor
|
import akka.actor.Actor
|
||||||
|
|
||||||
//#child
|
//#child
|
||||||
//#supervisor
|
|
||||||
//#supervisor
|
|
||||||
class Supervisor extends Actor {
|
class Supervisor extends Actor {
|
||||||
//#strategy
|
//#strategy
|
||||||
import akka.actor.OneForOneStrategy
|
import akka.actor.OneForOneStrategy
|
||||||
|
|
@ -79,7 +79,6 @@ object FaultHandlingDocSpec {
|
||||||
|
|
||||||
def receive = Actor.emptyBehavior
|
def receive = Actor.emptyBehavior
|
||||||
}
|
}
|
||||||
//#supervisor
|
|
||||||
|
|
||||||
//#child
|
//#child
|
||||||
class Child extends Actor {
|
class Child extends Actor {
|
||||||
|
|
@ -91,18 +90,24 @@ object FaultHandlingDocSpec {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//#child
|
//#child
|
||||||
}
|
|
||||||
|
|
||||||
//#testkit
|
val testConf: Config = ConfigFactory.parseString("""
|
||||||
class FaultHandlingDocSpec extends AkkaSpec with ImplicitSender {
|
akka {
|
||||||
//#testkit
|
loggers = ["akka.testkit.TestEventListener"]
|
||||||
|
}
|
||||||
|
""")
|
||||||
|
}
|
||||||
|
|
||||||
import FaultHandlingDocSpec._
|
import FaultHandlingDocSpec._
|
||||||
//#testkit
|
//#testkit
|
||||||
|
class FaultHandlingDocSpec extends TestKit(ActorSystem("FaultHandlingDocSpec", testConf))
|
||||||
|
with FlatSpecLike with BeforeAndAfterAll with ImplicitSender {
|
||||||
|
|
||||||
"A supervisor" must {
|
override def afterAll() {
|
||||||
|
system.terminate()
|
||||||
|
}
|
||||||
|
|
||||||
"apply the chosen strategy for its child" in {
|
"A supervisor" must "apply the chosen strategy for its child" in {
|
||||||
//#testkit
|
//#testkit
|
||||||
|
|
||||||
//#create
|
//#create
|
||||||
|
|
@ -140,7 +145,6 @@ class FaultHandlingDocSpec extends AkkaSpec with ImplicitSender {
|
||||||
//#escalate-kill
|
//#escalate-kill
|
||||||
supervisor ! Props[Child] // create new child
|
supervisor ! Props[Child] // create new child
|
||||||
val child2 = expectMsgType[ActorRef]
|
val child2 = expectMsgType[ActorRef]
|
||||||
|
|
||||||
watch(child2)
|
watch(child2)
|
||||||
child2 ! "get" // verify it is alive
|
child2 ! "get" // verify it is alive
|
||||||
expectMsg(0)
|
expectMsg(0)
|
||||||
|
|
@ -169,5 +173,4 @@ class FaultHandlingDocSpec extends AkkaSpec with ImplicitSender {
|
||||||
// code here
|
// code here
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
//#testkit
|
//#testkit
|
||||||
|
|
|
||||||
|
|
@ -127,8 +127,8 @@ This supervisor will be used to create a child, with which we can experiment:
|
||||||
:include: child
|
:include: child
|
||||||
|
|
||||||
The test is easier by using the utilities described in :ref:`akka-testkit`,
|
The test is easier by using the utilities described in :ref:`akka-testkit`,
|
||||||
where ``AkkaSpec`` is a convenient mixture of ``TestKit with WordSpec with
|
where ``AkkaSpec`` is a convenient mixture of
|
||||||
MustMatchers``
|
``TestKit with WordSpec with MustMatchers``
|
||||||
|
|
||||||
.. includecode:: code/docs/actor/FaultHandlingDocSpec.scala
|
.. includecode:: code/docs/actor/FaultHandlingDocSpec.scala
|
||||||
:include: testkit
|
:include: testkit
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue