![](/img/trans.png)
[英]Akka: Does creating an actor but not assigning it cause it to destruct after it processes the message it has received?
[英]testing that an actor has received a specific message
我是Akka和演员模型的新手,在尝试测试演员时我很挣扎。
从Akka文档中,您可以创建一个简单的actor,将其自身绑定到本地端口,并使用以下代码侦听传入的连接:
class Server extends Actor {
import Tcp._
import context.system
IO(Tcp) ! Bind(self, new InetSocketAddress("localhost", 12345))
def receive = {
case b @ Bound(localAddress) =>
// do some logging or setup ...
// rest omitted for brevity
}
}
我想编写一个创建Server
actor的测试,然后验证该actor是否已从IO(Tcp)
接收到Bound
消息。 我想这是可能的,但我想我缺少了一些东西。 我对expectMsg
理解是,此方法适用于向正在测试的演员发送消息,收到回传并断言它收到的内容的演员。 我实际上可以检查我创建的演员收到了什么吗?
该测试将测试Akka IO是否正常工作/您是否正确使用了API,并且可以从等式中删除actor,而是使用TestProbe。
将设置/注册逻辑与构造actor实例分开可能是一个好主意。 这样您可以测试:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.