/ / Acteur testeur sans minuteur - scala, akka

Testeur sans minuteur - scala, akka

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 TestActorRefpuis 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 TestKitCependant, 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 № 1

Tu devrais utiliser http://doc.akka.io/docs/akka/snapshot/scala/testing.html#Synchronous_Unit_Testing_with_TestActorRef La documentation est très bonne.