我正在使用ScalaTest的Eventually.eventually
并对其进行了配置,以便它每秒都尝试获取一条记录,直到状态完成为止:
Eventually.eventually(timeout(5 seconds), interval(1 seconds)) {
getItem(recordId).record.forall(
_.state.contains(Constants.RecordStatusComplete)) shouldEqual true
}
我必须得到getItem(recordId)
被调用的次数。我怎么能这样做?
答案 0 :(得分:1)
如何计算呢?有点丑陋可能但是scalatest似乎没有为你提供它所做的尝试量,并且可能这仅用于测试,所以:
val count = Iterator from 0
Eventually.eventually(timeout(5 seconds), interval(1 seconds)) {
count.next()
getItem(recordId).record.forall(
_.state.contains(Constants.RecordStatusComplete)) shouldEqual true
}
// count.next() will give you the attempts
我可以想到使用模拟框架等的其他解决方案,但它们可能会变得非常相似。