EVERYTHING XIAOMI
Get listed

Gopter

Gopter is a free Go module for property-based testing.

Place
#3 of 28
Score
6.4
Gopter's website

What Gopter is

Gopter is a free Go module for property-based testing. It generates inputs for conditions you define and checks whether the resulting properties hold. Its generators provide more control than Go's testing/quick package and can be combined using operations such as Map, FlatMap, SuchThat, and WithShrinker. When a property fails, shrinkers seek a smaller value that still reproduces the failure. Gopter also includes a generator for regular-expression matches and supports stateful testing with 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. Documentation covers the gopter, gen, prop, arbitrary, commands, and convey packages. The README identifies two limitations: Gopter does not include ScalaCheck's Pretty feature, and parallel commands are not available yet.

Good

  • Shrinkers seek a smaller value that still fails.
  • Supports stateful tests based on arbitrary commands.
  • Properties can run through Go's testing.T.
  • Includes helpers for GoConvey tests.
  • Distributed under the MIT License.

Watch out

  • Parallel commands are not available yet.
  • Does not provide ScalaCheck's Pretty feature.
  • The project declares Go 1.20.

Who it suits

Gopter suits Go developers who want generated inputs and automatic shrinking for property tests. It may also suit developers using Go's testing package or GoConvey.

Verdict

Gopter adds property-based testing, generator composition, stateful tests, and failure shrinking to Go workflows. Developers should note that parallel commands and ScalaCheck's Pretty feature are absent.

Plans and prices

From Gopter's own pricing page, checked 2 Oct 2026.

All about pricing
PlanPriceWhat it gives you
GopterFreeMIT-licensed Go property-testing library
MIT-licensed packageFreeMIT License · Go package

The facts

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

What it does

API usage
The package provides TestingRun for running property checks with a Go testing.T context.checked 30 Sep 2026
Commands limitation
The README says parallel commands are not available yet.checked 30 Sep 2026
Documentation packages
Documentation covers gopter, gen, prop, arbitrary, commands, and convey packages.checked 30 Sep 2026
Generator composition
Generators support operations including Map, FlatMap, SuchThat, and WithShrinker.checked 2 Oct 2026
Generators
It provides tighter control over generators than Go's testing/quick package.checked 2 Oct 2026
GoConvey
The gopter/convey package provides helpers for using Gopter inside GoConvey tests.checked 2 Oct 2026
GoConvey integration
The convey package provides helpers used by Gopter inside GoConvey tests.checked 30 Sep 2026
Known limitation
The README notes that Gopter does not provide ScalaCheck's Pretty feature and has no parallel commands yet.checked 2 Oct 2026
License
The repository identifies Gopter as MIT licensed.checked 2 Oct 2026
Module version
pkg.go.dev lists version v0.2.11, published April 3, 2024.checked 30 Sep 2026
Property testing
It creates properties from condition functions and generated inputs.checked 2 Oct 2026
Purpose
Gopter is a Go property-testing library that brings ideas from ScalaCheck and QuickCheck to Go.checked 2 Oct 2026
Regex generation
It includes a generator for regular-expression matches.checked 2 Oct 2026
Regex support
Gopter includes a generator for regex matches.checked 30 Sep 2026
Reporting
Gopter provides console and formatted reporters for test results.checked 2 Oct 2026
Shrinking
Its shrinkers automatically seek a minimum value that falsifies a property.checked 2 Oct 2026
Stateful testing
Gopter supports stateful tests.checked 30 Sep 2026
Stateful tests
It supports stateful tests based on arbitrary commands.checked 2 Oct 2026
Support channel
The project is hosted in a public GitHub repository with an Issues section.checked 30 Sep 2026
Testing integration
Properties can be run with Go's testing.T through TestingRun.checked 2 Oct 2026
Testing scope
Gopter is described as a more sophisticated version of Go's testing/quick package.checked 30 Sep 2026

The company

Maker business
Leanovate describes itself as a software development company supporting product implementation, technical scaling, digital transformation, organizational development, workshops, and training.checked 30 Sep 2026
Maker size
Leanovate is listed as having 11–50 employees.checked 30 Sep 2026

Where it runs

Platform and delivery
The project is a Go module with module path github.com/leanovate/gopter and declares Go 1.20.checked 2 Oct 2026
The full review of Gopter

Overview

Gopter is a Go library for property-based testing, aimed at developers who want generated inputs and more control over test cases than Go’s testing/quick offers. Its combination of composable generators, shrinking and Go test integrations makes it a focused option for finding counterexamples in Go code.

Key features

Generator composition is Gopter’s central strength. Operations such as Map, FlatMap, SuchThat and WithShrinker let developers shape inputs and their reduction behavior. When a property fails, shrinkers search for a smaller value that still falsifies it; that can turn a complicated generated case into a more useful debugging target. Failures are reproducible, which helps developers revisit a counterexample rather than treat it as a one-off.

Gopter includes a generator for regular-expression matches, useful when a property concerns strings constrained by a pattern. It also supports stateful tests built from arbitrary commands, letting developers check behavior across command sequences rather than only isolated inputs. These features add meaningful scope, though the README says parallel commands are not available yet.

Properties can run through Go’s testing.T context using TestingRun, and the gopter/convey package provides helpers for GoConvey tests. Console and formatted reporters present results. Documentation covers the gopter, gen, prop, arbitrary, commands and convey packages. Gopter does not include ScalaCheck’s Pretty feature, so teams seeking that specific reporting capability should look elsewhere.

Pricing

Gopter is free: both the MIT-licensed package and the Gopter plan cost nothing. There is no paid tier or free trial; the package is distributed under the MIT License. That makes it a straightforward option for individual developers and teams that can work with an open-source Go library, without a subscription or seat limits to weigh.

Platforms

Gopter is a Go module for Linux and self-hosted use, with Go 1.20 declared. Its supported language is Go, and its test-runner integrations are Go’s testing package and GoConvey. It is not a general cross-language testing service: the value is specifically in fitting property testing into Go workflows.

Who it's for

Choose Gopter if you write Go tests and need finer generator control than testing/quick, automatic shrinking, or stateful command-based checks. It is especially relevant to teams already using GoConvey or the standard Go testing package. Look elsewhere if parallel commands or ScalaCheck-style Pretty reporting are requirements.

Pros and cons

  • Pros: Composable generators provide more control than testing/quick; shrinking narrows falsifying inputs; reproducible failures support follow-up debugging.
  • Pros: Regex generators, stateful tests, Go test integration and GoConvey helpers cover several Go testing workflows.
  • Cons: Parallel commands are not available, limiting its fit for workflows that depend on them.
  • Cons: It lacks ScalaCheck’s Pretty feature, which may matter to teams expecting that style of output.

Alternatives

For JavaScript or TypeScript, fast-check is a free, MIT-licensed option with API, Linux and web platforms. Scala Hedgehog is a free Scala testing library for Linux. CsCheck is a free, Apache 2 option for self-hosted use, while QuickCheck is a free Haskell library for random testing of program properties.

Hypothesis is another free choice, supporting Linux, macOS and Windows. Go developers comparing another Go library can consider Rapid, a free open-source option with no dependencies outside Go’s standard library. RapidCheck is free for Linux, self-hosted and Windows use; Proptest is a free alternative listed for web. Browse more options in Property-Based Testing Tools.

Verdict

Gopter is a strong fit for Go developers who want composable generated inputs, shrinking and stateful testing without paying for a testing service. Its standard Go and GoConvey integrations make it practical for existing Go test suites. Choose another tool if parallel commands or ScalaCheck’s Pretty feature are essential.

Getting started

  1. Open the public GitHub project at github.com/leanovate/gopter
  2. Add the github.com/leanovate/gopter module to a Go project
  3. Use Go 1.20 as declared by the module
  4. Create properties from condition functions and generated inputs
  5. Run checks with TestingRun and Go’s testing.T
  6. Use gopter/convey helpers when running inside GoConvey

Limits worth knowing

Gopter is free under the MIT License. The README notes that parallel commands and ScalaCheck’s Pretty feature are not provided.

Questions

What does Gopter cost?

Gopter is free, with a listed plan price of no cost MIT-licensed Go package.

Which language does Gopter support?

Gopter supports Go and is delivered as the github.com/leanovate/gopter Go module declaring Go 1.20.

Which test runners work with Gopter?

Properties can run with Go’s testing package through TestingRun, and gopter/convey provides helpers for GoConvey tests.

Does Gopter support shrinking?

Yes. Its shrinkers automatically seek a minimum value that still falsifies a property, and failures are reproducible.

Is Gopter open source?

Yes. The project is distributed under the MIT License in a public GitHub repository.

Does it support stateful or regex testing?

Yes. Gopter supports stateful tests based on arbitrary commands and includes a generator for regular-expression matches.

Alternatives to Gopter

All alternatives
  1. 1fast-check logo

    fast-check

    Free planOpen sourceWebAPILinuxSelf-hosted
    7.1Free plan
  2. 2

    ScalaCheck

    Free planLinuxmacOSWindows
    6.6Free 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