在我的另一个问题之后,我有一个UDP服务器参与者,如下所示:
class Listener(addr: InetSocketAddress) extends Actor {
import context.system
IO(Udp) ! Udp.Bind(self, addr)
def spawnChild(remote): ActorRef = {
//Check if child already exist
context.actorOf(Props[Worker])
}
def receive = {
case Udp.Bound(local) =>
context.become(ready(sender()))
}
def ready(socket: ActorRef): Receive = {
case Udp.Received(data, remote) =>
val worker = spawnChild(remote)
worker ! data // forward data directly to child
case Udp.Unbind => socket ! Udp.Unbind
case Udp.Unbound => context.stop(self)
}
}
我正在根据数据从何处发送来创建子角色。这样做的原因是子参与者保持一些内部状态。内部状态包括上次连接时间、发送的数据包总数等
我想设置TestProbe来测试它
我已经阅读了使用多个探针的部分。然而,在我的情况下,是父母演员负责创造孩子。
在这种情况下,我应该如何编写规范?或者,我应该如何重构代码以使其更易于测试?
akka文档中有一节概述了可以实现的几种方法:测试父子关系
在工作中,我们已经成功地使用了从父级外部化子级制作中解释的方法。在实践中,这意味着您的父参与者在初始化时(或通过消息)接受“子工厂”参数。
在测试代码中,您可以提供一个“假”工厂,它将返回一个测试探针,而不是一个纯粹的参与者。
问题内容: 我开始采用TDD开发态度,并为django应用程序编写单元测试。我知道固定装置,并且知道应该执行测试的方式,但是对于给定的测试,我确实需要在整个数据库上执行它,而我想处理的10百万以上行数据库的json固定装置,此外,此测试是“只读”的。 因此,问题是如何设置测试套件以在生产数据库上运行?我想这就像在某些测试的setUp方法中添加DATABASE_NAME设置一样容易。但是运行测试时,
我有以下配置,但得到错误 詹金斯命令 下面是我的配置文件
是否有可能在运行时检测React的当前版本是开发还是生产?我想做这样的事情:
问题内容: 我似乎无法通过测试成功获得PhantomJS。我试图将其集成到我的项目中,但是在此之后失败了,我尝试仅运行基本的Angular Docs示例,但遇到了同样的问题。到目前为止,我的步骤: // … GhostDriver-Main-在端口9515上运行 这是与示例中相同的文件,仅具有browserName,并且seleniumAddress端口已更改: 我收到以下错误消息: 我在gith
我想在虚拟机上运行量角器测试。我已经尝试使用以下命令运行它: 不幸的是,这种方法非常缓慢。还有其他方法在虚拟机上运行量角器测试吗?也许是使用selenium的远程webdriver(我不知道如何进行设置)。
在其他一些测试框架中,我习惯于标记测试,例如@really_slow,@front_end