首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试参与者:准确接收N条消息

测试参与者:准确接收N条消息
EN

Stack Overflow用户
提问于 2015-05-21 09:58:16
回答 1查看 2.1K关注 0票数 1

我在和Akka演员一起测试一个应用程序。我在用测试探针。我想验证探测是否接收到相同类型的10条消息。一种解决方案可能是编写10次:

代码语言:javascript
复制
probe.expectMsg(20 seconds, Done)

但是我更喜欢一种更通用的解决方案(例如,我也会为n=100测试我的应用程序)。我也尝试了probe.receiveN(10秒,20秒),但是如果我收到超过10个元素,测试就不会失败。相反,我希望它在这种情况下失败。有解决办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-21 10:07:05

来自Akka文件:

代码语言:javascript
复制
expectMsgAllOf[T](d: Duration, obj: T*): Seq[T]

必须在给定的时间内接收与所提供的对象数组大小相匹配的多个对象,对于每个给定的对象,在接收的对象中必须至少有一个与其相等(与==相比)。返回接收对象的完整序列。

然后使用expectNoMsg(d: Duration)确保确切的数字是必需的。

使用您的代码:

代码语言:javascript
复制
val numberOfMessages = 10
probe.expectMsgAllOf(20 seconds, Array.fill(numberOfMessages)(Done))
probe.expectNoMsg(20 seconds)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30370433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档