Skip to content
SPECIFICTION
Get listed

Gopter vs scalaprops

Gopter

github.com

scalaprops

github.com

Side by side

FigureGopterscalaprops
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
LinuxYesYes
Self-hostedYes—
Plans published21
Spec score · Property-Based Testing Tools8.6 (#2)7.0 (#22)
LicenseThe repository identifies Gopter as MIT licensed.The repository is licensed under MIT, whose text provides the software without warranty.
PurposeGopter is a Go property-testing library that brings ideas from ScalaCheck and QuickCheck to Go.Scalaprops is a property-based testing library for Scala.

Plans

Gopter

  • GopterFree
  • MIT-licensed packageFree

Gopter pricing →

scalaprops

  • ScalapropsFree

scalaprops pricing →

In their own words

Gopter

Gopter is a free Go module for property-based testing. It creates properties from conditions and generated inputs, then checks whether those properties hold. Its generators provide more control than Go's testing/quick package and can be composed with operations such as Map, FlatMap, SuchThat, and WithShrinker. When a property fails, shrinkers seek a smaller value that still demonstrates the failure. Gopter also includes a generator for regular-expression matches and supports stateful tests based on arbitrary commands. Properties can run with Go's testing.T through TestingRun, and the gopter/convey package provides helpers for using Gopter inside GoConvey tests. Console and formatted reporters present test results. The project declares Go 1.20 and is distributed under the MIT License. Its documentation covers the gopter, gen, prop, arbitrary, commands, and convey packages. The README identifies two omissions: ScalaCheck's Pretty feature is not provided, and parallel commands are not available yet.

Visit github.com

scalaprops

Scalaprops is a free Scala property-based testing library for Linux. It generates test data, including non-constant scala.FunctionN values through Cogen, and lets each test define flexible parameters. Law checking is configurable, with identifiers that may use types other than String. 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, which can be passed again with --seed= for repeatable runs. The README states support for Scala.js and Scala Native, using Mersenne Twister by default on JVM and Scala Native and Tiny Mersenne Twister on Scala.js. An sbt plugin adds scalapropsOnly selection by test class, method, and parameter. ScalapropsFramework and sbt are listed test runners. Parallel test execution is unsupported.

Visit github.com