gopter

GOlang Property TestER

Github stars Tracking Chart

GOPTER

... the GOlang Property TestER
Build Status
codecov
GoDoc
Go Report Card

Change Log

Synopsis

Gopter tries to bring the goodness of ScalaCheck (and implicitly, the goodness of QuickCheck) to Go.
It can also be seen as a more sophisticated version of the testing/quick package.

Main differences to ScalaCheck:

  • It is Go ... duh
  • ... nevertheless: Do not expect the same typesafety and elegance as in ScalaCheck.
  • For simplicity Shrink has become part of the generators. They can still be easily changed if necessary.
  • There is no Pretty ... so far gopter feels quite comfortable being ugly.
  • A generator for regex matches
  • No parallel commands ... yet?

Main differences to the testing/quick package:

  • Much tighter control over generators
  • Shrinkers, i.e. automatically find the minimum value falsifying a property
  • A generator for regex matches (already mentioned that ... but it's cool)
  • Support for stateful tests

Documentation

Current godocs:

  • gopter: Main interfaces
  • gopter/gen: All commonly used generators
  • gopter/prop: Common helpers to create properties from a condition function and specific generators
  • gopter/arbitrary: Helpers automatically combine generators for arbitrary types
  • gopter/commands: Helpers to create stateful tests based on arbitrary commands
  • gopter/convey: Helpers used by gopter inside goconvey tests

License

MIT Licence

Main metrics

Overview
Name With Ownerleanovate/gopter
Primary LanguageGo
Program languageGo (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2016-02-11 07:20:49
Pushed At2025-04-07 09:17:01
Last Commit At2025-04-07 11:17:01
Release Count13
Last Release Namev0.2.11 (Posted on )
First Release Namev0.1 (Posted on )
用户参与
Stargazers Count603
Watchers Count9
Fork Count43
Commits Count300
Has Issues Enabled
Issues Count48
Issue Open Count15
Pull Requests Count39
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private