28得票4回答
为什么在scalacheck中需要使用Arbitraries?

我想知道Arbitrary为什么是必需的,因为自动化属性测试需要属性定义,例如 val prop = forAll(v: T => check that property holds for v) 生成器和值v生成器。用户指南中提到,您可以为自定义类型创建自定义生成器(以树的生成器...

23得票1回答
java.lang.IncompatibleClassChangeError:使用ScalaCheck和ScalaTest实现类

使用ScalaCheck和ScalaTest编写测试时,我遇到了一个棘手的异常。这是我的依赖关系:libraryDependencies ++= Seq( "org.scalatest" %% "scalatest" % "2.2.6" % "test", "org.scalachec...

22得票2回答
在ScalaCheck中生成Option[T]

我尝试使用ScalaCheck生成可选参数,但没有成功。 似乎没有直接的机制可以实现这一点。Gen.containerOf [Option,Thing](thingGenerator)失败,因为它找不到一个隐式的Buildable [Thing,Option]。 我尝试过 for { ...

18得票3回答
ScalaCheck案例类随机数据生成器

我正在尝试使用Scalacheck生成随机数据。我有一个包含许多属性的案例类层次结构。到目前为止,我发现唯一的填充案例类的方法是像这样:case class Data(a: String, b: String, c: String...

18得票1回答
如何让SBT仅重新运行失败的测试

有没有办法让SBT只重新运行上次测试套件中失败的测试?例如,如果我运行sbt test,并且其中有20个测试,其中3个测试失败,是否可以运行任何命令来让SBT只重新运行这3个失败的测试? 具体而言,我正在使用Scala Test和Scala Check来运行通过SBT运行的测试。

17得票1回答
高阶 ScalaCheck

考虑以下类别的定义:trait Category[~>[_, _]] { def id[A]: A ~> A def compose[A, B, C](f: A ~> B)(g: B ~> C): A ~> C } 这是一个一元函数的示例:object C...

16得票1回答
为什么我的Scalacheck/Scalatest PropertyCheckConfig被忽略了?

我有一个项目,其中包含许多Scalacheck生成器,出现了一个GeneratorDrivenPropertyCheckFailedException错误,显示消息为“在0个成功的属性评估之后放弃。已丢弃2个评估。” 我希望它尝试更多次数的属性评估,例如500次(默认值),但我没有看到我的配...

16得票2回答
Scalacheck中的大小生成器

scalacheck项目的用户指南提到了大小生成器。以下是解释代码: def matrix[T](g:Gen[T]):Gen[Seq[Seq[T]]] = Gen.sized {size => val side = scala.Math.sqrt(size).asInstanceOf...

16得票3回答
scalacheck中的Arbitrary隐式类型和递归生成器

我发现scalacheck存在一个非常明显的bug,如果真的存在这个问题,我无法理解人们如何在递归数据结构中使用它。 在构造Arbitrary值时,此程序在scalacheck接管之前因StackOverflowError而失败。请注意,Tree类型和Tree的生成器直接从这个scalach...

16得票4回答
使ScalaCheck测试具有确定性

我希望能使我的ScalaCheck属性测试在specs2测试套件中是暂时确定性的,以便于调试。目前,每次重新运行测试套件时可能会生成不同的值,这使得调试非常困难,因为你无法确定观察到的行为变化是由你的代码更改引起的,还是只是由于生成了不同的数据。 我该如何做?是否有正式方法来设置ScalaC...