- Home
- Property-Based Testing Tools
- scalaprops
scalaprops
What it is
scalaprops is a free property-based testing library for Scala, listed for Linux and supporting Scala.js and Scala Native runtimes. It generates test values, including non-constant scala.FunctionN functions through Cogen, and allows flexible settings for individual tests. Law checking is configurable and can use identifiers beyond String values. Scalaz integration supplies laws plus Gen and Cogen instances for Scalaz types. Randomness uses an immutable generator rather than mutable scala.util.Random. Failed tests report their starting seed, and rerunning with --seed= can reproduce the run. The stated default generator is Mersenne Twister on JVM and Scala Native, and Tiny Mersenne Twister on Scala.js. The recommended sbt plugin adds scalapropsOnly for selecting test classes, methods, and parameters. Listed test runners are ScalapropsFramework and sbt. The README says parallel test execution is currently unsupported. The repository uses the MIT license, whose terms provide the software without warranty.
For and against
For
- Free Scala property-based testing library
- Reproducible failures through reported seeds
- Generators for scala.FunctionN
- Scalaz laws and instances
- Flexible test and law settings
Against
- Parallel test execution unsupported
- Linux is the listed platform
- MIT license provides no warranty
- Requires Scala development tooling
The verdict
scalaprops focuses on configurable property testing with deterministic reruns and Scala ecosystem integrations. Teams needing parallel test execution should account for the stated limitation.
Who it suits
scalaprops suits Scala developers writing property-based tests, law checks, and reproducible failure cases. It is appropriate for projects using sbt or the listed Scala runtimes.
Plans and prices
Scalaprops
Scala property-based testing library · Maven dependencies shown for test use
Read 9 Oct 2026 · github.com
On the record
- Deterministic testing
- When a test fails, it emits its starting seed and supports rerunning with --seed=<value>.github.com · read 9 Oct 2026
- Function generators
- It provides generators for scala.FunctionN using Cogen, including non-constant functions.github.com · read 9 Oct 2026
- Law checking
- It supports flexible law checking and can use test identifiers other than String.github.com · read 9 Oct 2026
- License
- The repository is licensed under MIT, whose text provides the software without warranty.github.com · read 9 Oct 2026
- Parallel execution limit
- The README setup example says parallel test execution is currently unsupported.github.com · read 9 Oct 2026
- Purpose
- Scalaprops is a property-based testing library for Scala.github.com · read 9 Oct 2026
- Randomness
- It uses an immutable random number generator and does not use mutable scala.util.Random.github.com · read 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 · read 9 Oct 2026
- Scalaz integration
- It integrates with Scalaz and provides laws and Gen and Cogen instances for Scalaz types.github.com · read 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 · read 9 Oct 2026
- Test settings
- It supports flexible parameter settings for each test.github.com · read 9 Oct 2026
- Timeouts
- The project lists timeout as soon as possible as a feature.github.com · read 9 Oct 2026