EVERYTHING XIAOMI
Get listed

ScalaCheck

ScalaCheck is a free Scala library for automated property-based testing of Scala and Java programs.

Place
#2 of 28
Score
6.6
ScalaCheck's website

What ScalaCheck is

ScalaCheck is a free Scala library for automated property-based testing of Scala and Java programs. Developers describe properties and ScalaCheck checks them against randomized inputs, reporting the arguments that make a property fail. It supports parameterized cases and parallel execution, and can run independently with its built-in test runner. For projects using sbt, the site recommends adding it as a test dependency. It also integrates with ScalaTest, specs2, and LambdaTest. ScalaCheck has no external dependencies beyond the Scala runtime. Build artifacts are published in the Central Repository, while the project site links to a user guide and API documentation. The listed release is version 1.19.0, released September 6, 2025. The project identifies its license as BSD-3-Clause and lists a security policy. The README says the Gradle plugin supports ScalaCheck for Scala.js and Scala Native; the project build defines JVM, Scala.js, and Scala Native platforms. The site names the Scala compiler and Akka among projects that use it.

Good

  • Tests properties using randomized inputs.
  • Reports arguments that falsify a property.
  • Integrates with ScalaTest, specs2, and LambdaTest.
  • Can run standalone with its built-in test runner.
  • BSD-3-Clause license; free to use.

Watch out

  • Requires the Scala runtime.
  • No free trial is listed.
  • The listed release is from September 6, 2025.

Who it suits

ScalaCheck is suited to developers testing Scala or Java code with randomized property checks. It fits projects using sbt or the listed testing integrations, and can also be run standalone.

Verdict

ScalaCheck provides property-based testing for Scala and Java, with several testing integrations and standalone use. Its randomized checks and reported failing arguments make it a focused option for developers working with those languages.

Plans and prices

From ScalaCheck's own pricing page, checked 8 Oct 2026.

All about pricing
PlanPriceWhat it gives you
ScalaCheckFreeopen-source library · BSD-3-Clause license

The facts

Each one read from ScalaCheck's own pages, with the date it was checked.

What it does

Build integration
The site says ScalaCheck works with sbt and shows adding it as a test dependency.checked 7 Oct 2026
Compatibility
The project README says ScalaCheck is supported by the Gradle plugin for Scala.js and Scala Native.checked 7 Oct 2026
Dependencies
ScalaCheck has no external dependencies other than the Scala runtime.checked 8 Oct 2026
Distribution
Build artifacts are published in the Central Repository, and the download page gives an sbt dependency declaration.checked 7 Oct 2026
Documentation
The site links to a continuously developed user guide and API documentation for the latest release.checked 8 Oct 2026
Installation
The site recommends adding org.scalacheck %% scalacheck % 1.19.0 % test as an sbt dependency.checked 8 Oct 2026
Integrations
The site says ScalaCheck works with sbt and is integrated with ScalaTest, specs2 and LambdaTest.checked 8 Oct 2026
Latest listed release
The site lists ScalaCheck 1.19.0, released on September 6, 2025.checked 7 Oct 2026
License
The project build identifies its license as BSD-3-Clause.checked 8 Oct 2026
Maintainer
The project build lists Rickard Nilsson as a developer.checked 8 Oct 2026
Notable usage
The site names the Scala compiler and Akka as projects that use ScalaCheck.checked 7 Oct 2026
Purpose
ScalaCheck is a Scala library for automated property-based testing of Scala or Java programs.checked 8 Oct 2026
Security
The GitHub repository page lists a security policy.checked 8 Oct 2026
Security and license
The project repository lists a security policy and identifies its license as BSD-3-Clause.checked 7 Oct 2026
Standalone use
ScalaCheck can run standalone with its built-in test runner.checked 8 Oct 2026
Support
The documentation page links to GitHub bug reports, a mailing list and Stack Overflow.checked 8 Oct 2026
Support channels
The documentation page links to bug reports, a mailing list, and ScalaCheck on Stack Overflow.checked 7 Oct 2026
Supported targets
The project build defines JVM, Scala.js and Scala Native platforms.checked 8 Oct 2026
Test frameworks
ScalaCheck is integrated with ScalaTest, specs2, and LambdaTest.checked 7 Oct 2026
Test generation
Its properties are checked over randomized input parameters, and it reports arguments that cause a property to fail.checked 7 Oct 2026
Testing
It tests properties with randomized inputs and reports arguments that falsify a property.checked 8 Oct 2026
The full review of ScalaCheck

ScalaCheck is a focused testing library for teams writing Scala or Java programs. It makes most sense when you can describe expected behavior as properties and want randomized cases to probe them; it is not a replacement for a full test framework.

Overview

Rather than checking only a set of handpicked examples, ScalaCheck evaluates properties against randomized inputs and reports the arguments that cause a failure. That can reveal edge cases that a short list of examples misses, and the failing arguments give developers a concrete starting point for investigation. The result still depends on writing meaningful properties: ScalaCheck explores inputs but does not define correct behavior for you.

The library has a narrow dependency footprint, requiring only the Scala runtime. That is useful for Scala projects seeking a dedicated property-testing tool, but it makes ScalaCheck a poor fit for teams that need a runtime-independent option.

Key features

Randomized property checks

Parameterized cases let developers express a rule once and check it across varied inputs. Parallel execution is supported, which can suit projects that want property checks to run concurrently. These capabilities target broad behavioral checks rather than serving as a general-purpose test runner.

Build and framework integration

ScalaCheck works with sbt and can be added as a test dependency. It also integrates with ScalaTest, specs2, and LambdaTest, so teams using those frameworks can incorporate property checks into a familiar testing setup. For projects outside those paths, ScalaCheck can run on its own with its built-in runner.

Targets and distribution

The project build defines JVM, Scala.js, and Scala Native targets, and its README says it is supported by the Gradle plugin for Scala.js and Scala Native. Build artifacts are published in the Central Repository. The site lists version 1.19.0, released September 6, 2025, and recommends the sbt dependency org.scalacheck %% scalacheck % 1.19.0 % test.

A continuously developed user guide and API documentation cover use of the library. The documentation also links to GitHub bug reports, a mailing list, and Stack Overflow. The repository lists a security policy; the project uses the BSD-3-Clause license. The site names the Scala compiler and Akka among projects that use ScalaCheck.

Pricing

ScalaCheck is free: its open-source library is listed as free under the BSD-3-Clause license. There is no paid tier or trial to weigh against a free-plan cap; it is a library rather than a hosted service with seat or usage quotas.

Platforms

ScalaCheck is available for Linux, macOS, and Windows. Its build targets JVM, Scala.js, and Scala Native, giving Scala projects options beyond JVM use while keeping the Scala runtime requirement central to adoption.

Who it's for

ScalaCheck is best suited to Scala and Java developers who want to test rules across generated inputs, especially teams already using sbt or ScalaTest, specs2, or LambdaTest. It is a sensible specialist addition when example-based checks alone are not enough. Teams seeking a broader testing framework, or a tool that does not depend on Scala, should look elsewhere.

Pros and cons

  • Actionable failing cases: reports the arguments that falsify a property, giving developers a specific case to examine.
  • Fits established Scala workflows: supports sbt, three named test integrations, and standalone running.
  • Multiple Scala targets: the build defines JVM, Scala.js, and Scala Native platforms.
  • Free and permissively licensed: the free BSD-3-Clause library avoids a purchase decision.
  • Requires Scala runtime: the dependency keeps the tool rooted in Scala projects rather than making it a language-neutral choice.
  • Focused scope: it checks properties, so teams still need another tool where they need general-purpose testing coverage.

Alternatives

For a broader comparison, browse Property-Based Testing Tools or Unit Testing Frameworks. These alternatives offer free options for different language ecosystems:

  • Racket QuickCheck is a free Racket package for readers working with Racket v6.0 or newer.
  • FsCheck is a free BSD-licensed library distributed through NuGet packages.
  • Gopter is a free, MIT-licensed Go property-testing library.
  • fast-check is a free, MIT-licensed JavaScript/TypeScript option.
  • JSVerify is a free open-source JavaScript property-based testing library.
  • Scala Hedgehog is another free open-source Scala testing library.
  • PropCheck is a free MIT-licensed Ruby gem requiring Ruby 2.5.1 or newer.
  • QCheck is a free OCaml property-based testing library under the BSD-2-Clause license.

Verdict

Choose ScalaCheck if you work in Scala or Java and want randomized property checks that report the inputs behind failures, particularly if your project already uses sbt or one of its integrated test frameworks. Its free BSD-3-Clause distribution and multiple Scala targets make it a practical specialist tool; look elsewhere if you need a general testing framework or cannot take on the Scala runtime.

Getting started

  1. Open https://scalacheck.org/.
  2. For an sbt project, add org.scalacheck %% scalacheck % 1.19.0 % test as a test dependency.
  3. Alternatively, use the standalone built-in test runner.
  4. Use the user guide or API documentation linked from the project site.

Limits worth knowing

ScalaCheck has no external dependencies other than the Scala runtime. The listed plan is free, with no plan-specific quota or feature restriction stated in the facts.

Questions

How much does ScalaCheck cost?

The listed plan is free at no cost. The project identifies its license as BSD-3-Clause.

Which languages does ScalaCheck support?

It is a Scala library for testing Scala and Java programs.

How does its property testing work?

It checks defined properties against randomized input parameters and reports arguments that cause a property to fail.

Which testing tools does it integrate with?

The site says it works with sbt and integrates with ScalaTest, specs2, and LambdaTest. It can also run standalone with its built-in test runner.

Which platforms does it support?

The listed platforms are Linux, macOS, and Windows. The project build defines JVM, Scala.js, and Scala Native targets.

How do I add it to an sbt project?

The site recommends adding org.scalacheck %% scalacheck % 1.19.0 % test as a test dependency. Its build artifacts are published in the Central Repository.

Alternatives to ScalaCheck

All alternatives
  1. 1fast-check logo

    fast-check

    Free planOpen sourceWebAPILinuxSelf-hosted
    7.1Free plan
  2. 2

    Gopter

    Free planLinuxSelf-hosted
    6.4Free plan
  3. 3

    JSVerify

    Free planWebSelf-hosted
    6.4Free plan
  4. 4

    Racket QuickCheck

    Free planLinuxmacOSWindows
    6.4Free plan
  5. 5

    FsCheck

    Free planLinuxmacOSWindows
    6.3Free plan
  6. 6

    QCheck

    Free planLinux
    6.0Free plan