gpt4 book ai didi

unit-testing - 将 future 传递给 whenReady 失败

转载 作者:行者123 更新时间:2023-12-04 02:50:23 25 4
gpt4 key购买 nike

我正在尝试为使用 future 的东西编写规范,但我不确定我应该如何使用 Futures特征。我要通过whenReady FutureConcept ,但我找不到我应该如何从 Future 构造一个.文档中写道:

To make whenReady more broadly applicable, the type of future it accepts is a FutureConcept[T], where T is the type of value promised by the future. Passing a future to whenReady requires an implicit conversion from the type of future you wish to pass (the modeled type) to FutureConcept[T].



由此我明白我必须在 Future 之间写一个隐式转换和一个 FutureConcept (这对我来说似乎是错误的,因为它似乎应该是样板文件,但这是我唯一能做到的)。我不知道如何做到这一点,FutureConcept 的文档很方便地告诉我

See the documentation for trait Futures for the details on the syntax this trait provides for testing with futures.



让我来个完整的循环。我做的最简单的例子是
import scala.concurrent._
import scala.concurrent.ExecutionContext.Implicits.global

import org.scalatest.WordSpecLike
import org.scalatest.concurrent._

class FutureSpec extends WordSpecLike with Futures {
"A future" must {
"be a valid argument for whenReady" in {
val fut = future { 42 }
whenReady(fut) { res => s should be 42 }
}
}
}

那不编译

  • type mismatch; found : scala.concurrent.Future[Int] required: FutureSpec.this.FutureConcept[?]
  • ';' expected but integer literal found.


我应该怎么做?

最佳答案

我发现 ScalaFutures 中存在隐式转换,不在 Futures .类声明应该是

class FutureSpec extends WordSpecLike with ScalaFutures

除此之外,还有其他一些错误。 FutureSpec 也应该有 Matchers混入,和 res => s是一个愚蠢的错字,应该是 res => res

关于unit-testing - 将 future 传递给 whenReady 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18400656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com