FREEDOM251

Freedom251 › Property-Based Testing Tools

scalaprops

Free plan Linux

Visit scalaprops Alternatives Pricing

scalaprops's own site

What scalaprops is

scalaprops is a free property-based testing library for Scala. It generates test inputs, including non-constant scala.FunctionN functions using Cogen, and lets teams adjust parameters for individual tests. Its law-checking support accepts test identifiers beyond String, and its Scalaz integration includes laws plus Gen and Cogen instances for Scalaz types.

The library uses an immutable random number generator instead of mutable scala.util.Random. On failure, it reports the test's starting seed, which can be passed back with --seed=<value> to repeat the run. Its default generator is Mersenne Twister on JVM and Scala Native, and Tiny Mersenne Twister on Scala.js. The README states support for Scala.js and Scala Native, while Linux is the listed platform. ScalapropsFramework and sbt are the supported test runners.

The project recommends an sbt plugin with a scalapropsOnly command to select a test class, method, and parameter. Timeout support is listed as a feature. The README setup example says parallel test execution is currently unsupported. The repository uses the MIT license, whose terms provide the software without warranty.

Who it suits

scalaprops suits Scala developers who want generated test inputs, repeatable failure runs, or law checking with Scalaz types. It is also a fit for teams using Scala.js or Scala Native alongside the listed Linux platform, provided they can work without parallel test execution.

What it does well

  • Generates non-constant scala.FunctionN values through Cogen.
  • Supports per-test parameter settings and flexible law checking.
  • Reports failure seeds for repeatable runs.
  • Includes Scalaz laws and Gen and Cogen instances.
  • Offers sbt test selection by class, method, and parameter.

What to know first

  • Parallel test execution is currently unsupported.
  • The listed platform is Linux, despite stated Scala.js and Scala Native support.

Limits

Parallel test execution is currently unsupported.

Plans

PlanBilled and limitsPrice
ScalapropsScala property-based testing library · Maven dependencies shown for test useFree

As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the project website on GitHub.
  2. Use the Scala library with the listed ScalapropsFramework or sbt test runner.
  3. Consider the recommended sbt plugin for selecting a test class, method, and parameter.
  4. Repeat a failing test by supplying its reported seed with --seed=<value>.

Verdict

Choose scalaprops if your Scala tests need generated properties, reproducible failure seeds, or Scalaz law support. Look elsewhere if parallel test execution is required.

Questions

Is scalaprops free?

Yes. It has a free plan, priced at $0, and no free trial.

Which platforms and runtimes does it support?

Linux is the listed platform. The README states support for Scala.js and Scala Native, and lists JVM as a default-generator target.

Can I repeat a failed test?

Yes. Scalaprops emits the starting seed on failure, and you can rerun with --seed=<value>.

Which test runners are supported?

ScalapropsFramework and sbt are listed. The project recommends its sbt plugin for selecting tests.

Is scalaprops open source?

The repository is licensed under MIT.

Facts from scalaprops's own pages

Deterministic testing
When a test fails, it emits its starting seed and supports rerunning with --seed=<value>. · github.com, 9 Oct 2026
Function generators
It provides generators for scala.FunctionN using Cogen, including non-constant functions. · github.com, 9 Oct 2026
Law checking
It supports flexible law checking and can use test identifiers other than String. · github.com, 9 Oct 2026
License
The repository is licensed under MIT, whose text provides the software without warranty. · github.com, 9 Oct 2026
Parallel execution limit
The README setup example says parallel test execution is currently unsupported. · github.com, 9 Oct 2026
Purpose
Scalaprops is a property-based testing library for Scala. · github.com, 9 Oct 2026
Randomness
It uses an immutable random number generator and does not use mutable scala.util.Random. · github.com, 9 Oct 2026
sbt plugin
The project recommends its sbt plugin, which provides a scalapropsOnly command with test class, method, and parameter selection. · github.com, 9 Oct 2026
Scalaz integration
It integrates with Scalaz and provides laws and Gen and Cogen instances for Scalaz types. · github.com, 9 Oct 2026
Supported runtimes
The README states support for Scala.js and Scala Native; its default random generator is Mersenne Twister for JVM and Scala Native and Tiny Mersenne Twister for Scala.js. · github.com, 9 Oct 2026
Test settings
It supports flexible parameter settings for each test. · github.com, 9 Oct 2026
Timeouts
The project lists timeout as soon as possible as a feature. · github.com, 9 Oct 2026

Where scalaprops stands on Freedom251

Look at these too