Fetching contributors…
Cannot retrieve contributors at this time
127 lines (93 sloc) 4.62 KB
ScalaCheck 1.10.0 Release Notes
Author: Rickard Nilsson <>
ScalaCheck is a powerful tool for automatic unit testing of Scala and Java
programs. It features automatic test case generation and simplification of
failing test cases. ScalaCheck started out as a straightforward Scala port of
the Haskell library QuickCheck, and has since wandered off on its own. Most
features of QuickCheck can be found in ScalaCheck and vice versa, though.
ScalaCheck highlights:
* Specifications are written in Scala, in a DSL-like fashion using
combinators from the ScalaCheck library.
* Properties are tested automatically, with test data generated by
ScalaCheck. Data generation can be precisely controlled, and generation
of custom data types is simple to define.
* Failing test cases are simplified automatically, which makes pin-pointing
error causes easier.
* Support for stateful testing of command sequences, and simplification of
failing command sequences.
* The ScalaCheck library has no dependencies other than the Scala
* ScalaCheck is well integrated with ScalaTest, SBT and Specs.
What's new in version 1.10.0?
Since version 1.9 was released, several minor bugs have been fixed and a
handful API additions have been made.
A notable change is the test parameter maxDiscardRatio which has replaced
the earlier maxDiscardedTests. maxDiscardRatio allows adjusting the
number of allowed discarded tests relative passed tests, instead of the
earlier absolute number.
The test parameter change also revealed the difficulty of maintaining binary
compatibility between different releases of Scala libraries. Therefore, the
test parameter implementation has been changed from a case class to a trait.
To make transition easier, the old Test.Params class has been kept but
deprecated, and a new Test.Parameters trait has been defined. So your old code
should work fine with 1.10.0 but you need to start using the new way of
defining test parameters. This will only be an issue for those of you that have
used non-default testing parameters (or integrated ScalaCheck in your own
framework or build script). In the future, I imagine similar changes for
Gen.Params and Prop.Params.
The binary compatibility problem is also the reason that this relase is
named 1.10.0 and not 1.10. In the future, I intend to keep binary
compatibility between x.y.* versions, but I might break it between x.*
versions. That said, ScalaCheck 1.10.0 should be binary compatible
with 1.9, but that is just incidental.
During the development of ScalaCheck 1.10.0, the project was moved from Google
Code to GitHub, and the release artifacts has been moved from the repository to the SonaType OSS repository. The Maven group id
has also been changed, from "org.scala-tools.testing" to "org.scalacheck".
In ScalaCheck 1.10, all methods that was deprecated in version 1.8 or earlier
have been removed, so if you haven't fixed old deprecation warnings yet you
might run into compilation errors.
Builds of ScalaCheck 1.10.0 are available for Scala versions from 1.9.0 up
to 2.10.0-M4. New builds are added when new versions of Scala is released. If
you miss any build, please submit an issue at GitHub. I have stopped doing
sbaz builds, if you miss them please submit an issue.
ScalaCheck links:
* Project site
* User Guide
* Manual artifact download (jar, source, doc):;quick~scalacheck
* Mailing list
See for information and
* Source repository
* SBT dependency
resolvers ++= Seq(
"snapshots" at "",
"releases" at ""
libraryDependencies ++= Seq(
"org.scalacheck" %% "scalacheck" % "1.10.0" % "test"
* Maven dependency
Add this to your pom.xml (example for Scala 2.9.2):