I'm trying to test if an actor was terminated or not, I know there is a way to test if it was terminated using TestProbe's expectTerminated
http://doc.akka.io/docs/akka/2.4.16/scala/testing.html#Watching_Other_Actors_from_Probes
But is there a way to test the opposite?
Thanks :)
Update
In my scenario, I have a user actor which has one or more child actors and it will terminate itself when all of its children are disconnected (terminated).
The behavior works fine but my problem is that I can only test the scenario which it has no children left and terminates itself. I can't find the right assertion to check that it's not terminated if it still has children left.
Here's a simplified test version:
"Terminates itself if there are no connected clients" in {
val userActor = system.ActorOf(UserActor.props())
userActor ! UserActor.ClientDisconnected()
val deathWatch = TestProbe()
deathWatch.watch(userActor)
deathWatch.expectTerminated(userActor, timeoutDuration)
}
"Not Terminates itself when there are still other clients connected" in {
val userActor = system.ActorOf(UserActor.props())
// Connecting a client
userActor ! UserActor.ClientConnected(sessionId, accessToken)
userActor ! UserActor.ClientDisconnected()
// How can I test that userActor is not terminated?
}