what behavior are you trying to test with your unit test?
if you are testing the behavior of the process() method with some
unexpected input (i.e. an exception of a specified type is thrown from
within the method), then you could use TestActorRef and invoke the
process() method directly, then await the future. something like:
valactorRef=TestActorRef[MyActor]
// ... initialize any internal actor state
valactor=actorRef.underlyingActor
val myBadInput = ...
a [Exception] should be thrownBy Await.result(actor.process(myBadInput),
Timeout(5.seconds))
you might also consider extracting the process() method into a separate
trait, and testing it in isolation from the actor. you could make the
process() method synchronous in the trait to ease testing, then in your
actor you can wrap the synchronous call in a future. i like doing it
this way, it separates the computation part from the coordination part,
and makes both pieces simpler to test.
-Michael
On 02/01/16 17:22, Paul Cleary wrote:
I have a child actor that I am trying to test using akka test kit.
Pretty simple really:
|
defreceive ={casex => process(x).map(_.right)pipeTo sender }
|
The process method yields a future.
Now, I am trying to write a unit test (using the akka test kit), and
nothing I seem to do captures the error result.
I can force the process method to throw an exception, but I somehow
cannot assert that it was thrown.
Thank you!
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ:
http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google
Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.
--
Read the docs: http://akka.io/docs/
Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html
Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.