我在和Akka演员一起测试一个应用程序。我在用测试探针。我想验证探测是否接收到相同类型的10条消息。一种解决方案可能是编写10次:
probe.expectMsg(20 seconds, Done)但是我更喜欢一种更通用的解决方案(例如,我也会为n=100测试我的应用程序)。我也尝试了probe.receiveN(10秒,20秒),但是如果我收到超过10个元素,测试就不会失败。相反,我希望它在这种情况下失败。有解决办法吗?
发布于 2015-05-21 10:07:05
来自Akka文件:
expectMsgAllOf[T](d: Duration, obj: T*): Seq[T]必须在给定的时间内接收与所提供的对象数组大小相匹配的多个对象,对于每个给定的对象,在接收的对象中必须至少有一个与其相等(与==相比)。返回接收对象的完整序列。
然后使用expectNoMsg(d: Duration)确保确切的数字是必需的。
使用您的代码:
val numberOfMessages = 10
probe.expectMsgAllOf(20 seconds, Array.fill(numberOfMessages)(Done))
probe.expectNoMsg(20 seconds)https://stackoverflow.com/questions/30370433
复制相似问题