我正在使用Scalacheck库来测试我的应用程序。在那个库中有一个Gen
对象,它定义了任何对象到该类的对象生成器的隐式转换。
例如,导入Gen._
允许您调用sample
任何对象上的方法,通过其隐式转换为Gen
:
scala> import org.scalacheck.Gen._
import org.scalacheck.Gen._
scala> "foo" sample
res1: Option[java.lang.String] = Some(foo)
在此示例中,隐式Gen.value()
应用于"foo"
,产生一个始终返回 的生成器Some(foo)
。
但这不起作用:
scala> import org.scalacheck.Gen.value
import org.scalacheck.Gen.value
scala> "foo" sample
<console>:5: error: value sample is not a member of java.lang.String
"foo" sample
^
为什么不?
更新
我正在使用 Scala 2.7.7final 和 ScalaCheck 2.7.7-1.6。
更新
刚刚使用 ScalaCheck 2.8.0-1.7 切换到 Scala 2.8.0.final。问题确实消失了。