Testing with ScalaCheck
Having a complete and consistent test suite that consists of unit, integration, or functional tests is essential in ensuring a good overall quality of your software development. However, sometimes, such a suite is not enough. While testing for example-specific data structures, it often happens that there are too many possible values to test with, which means that there is a very large amount of mocking or production of test data. Automated property-based testing is the aim of ScalaCheck, a Scala library inspired by Haskell that allows generating, more or less randomly, the test data to verify some properties about the code you are testing. This library can be applied to Scala as well as to Java projects.
To get up and running quickly with ScalaCheck, you can include the appropriate library in the build.sbt
file, as we have often done till now. This is shown as follows:
resolver += Resolver.sonatypeRepo("releases") libraryDependencies ++= Seq( "org.scalacheck" %% ...