我正在努力解决以下问题:我有一个返回 Future[Result] 的方法,其中 Result 是我想用specs2中的数据表行检查的东西 .
据我所知,以下代码每次都会阻塞并等待结果可用 .
def getDataForInput(input: String) : Future[Result]
def myTest =
"input" | "expectedResult" |>
"a" ! 123 |
"b" ! 0 | {
(input, result) => getDataForInput input must( beEqualTo(result).await )
}
通常我想异步调用所有调用,然后使用 Future.sequence 将 Seq[Future[Result]] 转换为 Future[Seq[Result]] ,然后运行测试 .
有理智的做法吗?
1 回答
没有简单的方法可以做到这一点,你需要解构和重建一些东西
这使用自定义匹配器,它将更好地显示表