Tout d'abord, je suis débutant à Akka. j'ai un Actor
(en Scala), qui après avoir reçu un message:
- ne peut rien envoyer
- peut envoyer un message
- peut envoyer plusieurs messages
Je voudrais le tester, sans la nécessité de minuteries.
Pour autant que j'ai réussi à creuser, je peux utiliser le ?
fonction d'un TestActorRef
puis attendez le Future
. Je ne sais pas si le délai expirera si rien n’est envoyé (je suppose que ce sera le cas, car il a un paramètre de délai implicite), mais il ne peut pas attendre plusieurs messages.
Je peux aussi utiliser le recieve
fonctions dans le TestKit
Cependant, cela ne fonctionnera plus si aucun message n’a été reçu, ce qui ralentira mes tests et les rendra moins robustes.
Ce dont j'ai besoin (ou je pense avoir besoin), est quelque chose qui peut envoyer des messages, puis exécuter recevoir sur le Actor
jusqu'à ce qu'il y ait des messages dans sa file d'attente, vérifiez ce qu'elle a envoyé.
Pouvez-vous me dire un moyen d'y parvenir ou indiquer ce que je devrais faire d'une autre manière?
Réponses:
0 pour la réponse № 1Tu devrais utiliser http://doc.akka.io/docs/akka/snapshot/scala/testing.html#Synchronous_Unit_Testing_with_TestActorRef La documentation est très bonne.