1
List
の値を受け取り、それらをデータベースで更新するメソッドをテストし(ScalaTestを使用して)、更新の成功を示す各値に対してFuture
を返します。すべての値がDBに保持されていることを検証する慣用的な方法はありますか? メソッドから返されたFuture
がすべて完了したら、どうすればわかりますか?Scalaで先物リストをテストする方法
trait Result
case object A extends Result
case object B extends Result
def addToDB(i: String): Future[Result]
def persistUsers(users: List[String]): List[Future[Result]] = {
users.map(addToDB)
}
私はこれ(作品)のようなものを試しましたが、より良い方法がありますか?
"should update list " in {
val users = List("a","b","c")
persistUsers(users)
Thread.sleep(1000)
whenReady(db.find("a")) { result => result shouldEqual A }
.
.
.
}
ScalaTest 2.0を使用し、これが機能するにはScalaFutures特性をミキシングする必要があります。 – Martijn