Skip to content
SPECIFICTION
Get listed

Gopter vs QuickCheck

Gopter

github.com

QuickCheck

hackage.haskell.org

Side by side

FigureGopterQuickCheck
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
LinuxYesYes
Self-hostedYes—
Plans published21
Spec score · Property-Based Testing Tools8.6 (#2)7.3 (#16)
GeneratorsIt provides tighter control over generators than Go's testing/quick package.QuickCheck provides combinators for defining test data generators.
LicenseThe repository identifies Gopter as MIT licensed.The package is licensed under BSD-3-Clause.
PurposeGopter is a Go property-testing library that brings ideas from ScalaCheck and QuickCheck to Go.QuickCheck is a Haskell library for random testing of program properties by checking specifications against randomly generated cases.

Plans

Gopter

  • GopterFree
  • MIT-licensed packageFree

Gopter pricing →

QuickCheck

  • QuickCheckFree

QuickCheck 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

QuickCheck

QuickCheck is a free Haskell library for testing program properties against randomly generated cases. Developers write specifications with QuickCheck combinators and can use combinators to define test-data generators and inspect generated-data distributions. It supports stateful testing, reproducible failures and shrinking failing cases. Monadic property testing is provided through the Test.QuickCheck.Monadic module. The package README describes adding QuickCheck to project dependencies for use in tests or a REPL. A companion package, quickcheck-instances, supplies instances for types in Haskell Platform packages, with additional dependencies. QuickCheck is licensed under BSD-3-Clause and lists dependencies including base, containers, random, splitmix, template-haskell and transformers. Hackage reports it tested with GHC versions from 8.10 up to but not including 9.15, as well as Hugs. A make-hugs script creates a Hugs-compatible version and may be useful for other non-GHC implementations. Hackage lists QuickCheck-2.18.0.0 as a downloadable Cabal source package. The listed package plan costs nothing.

Visit hackage.haskell.org