github.com/leanovate/gopter@v0.2.9/README.md (about)

     1  # GOPTER
     2  
     3  ... the GOlang Property TestER
     4  [![Build Status](https://travis-ci.org/leanovate/gopter.svg?branch=master)](https://travis-ci.org/leanovate/gopter)
     5  [![codecov](https://codecov.io/gh/leanovate/gopter/branch/master/graph/badge.svg)](https://codecov.io/gh/leanovate/gopter)
     6  [![GoDoc](https://godoc.org/github.com/leanovate/gopter?status.png)](https://godoc.org/github.com/leanovate/gopter)
     7  [![Go Report Card](https://goreportcard.com/badge/github.com/leanovate/gopter)](https://goreportcard.com/report/github.com/leanovate/gopter)
     8  
     9  [Change Log](CHANGELOG.md)
    10  
    11  ## Synopsis
    12  
    13  Gopter tries to bring the goodness of [ScalaCheck](https://www.scalacheck.org/) (and implicitly, the goodness of [QuickCheck](http://hackage.haskell.org/package/QuickCheck)) to Go.
    14  It can also be seen as a more sophisticated version of the testing/quick package.
    15  
    16  Main differences to ScalaCheck:
    17  
    18  * It is Go ... duh
    19  * ... nevertheless: Do not expect the same typesafety and elegance as in ScalaCheck.
    20  * For simplicity [Shrink](https://www.scalacheck.org/files/scalacheck_2.11-1.14.0-api/index.html#org.scalacheck.Shrink) has become part of the generators. They can still be easily changed if necessary.
    21  * There is no [Pretty](https://www.scalacheck.org/files/scalacheck_2.11-1.14.0-api/index.html#org.scalacheck.util.Pretty) ... so far gopter feels quite comfortable being ugly.
    22  * A generator for regex matches
    23  * No parallel commands ... yet?
    24  
    25  Main differences to the testing/quick package:
    26  
    27  * Much tighter control over generators
    28  * Shrinkers, i.e. automatically find the minimum value falsifying a property
    29  * A generator for regex matches (already mentioned that ... but it's cool)
    30  * Support for stateful tests
    31  
    32  ## Documentation
    33  
    34  Current godocs:
    35  
    36  * [gopter](https://godoc.org/github.com/leanovate/gopter):  Main interfaces
    37  * [gopter/gen](https://godoc.org/github.com/leanovate/gopter/gen): All commonly used generators
    38  * [gopter/prop](https://godoc.org/github.com/leanovate/gopter/prop): Common helpers to create properties from a condition function and specific generators
    39  * [gopter/arbitrary](https://godoc.org/github.com/leanovate/gopter/arbitrary): Helpers automatically combine generators for arbitrary types
    40  * [gopter/commands](https://godoc.org/github.com/leanovate/gopter/commands): Helpers to create stateful tests based on arbitrary commands
    41  * [gopter/convey](https://godoc.org/github.com/leanovate/gopter/convey): Helpers used by gopter inside goconvey tests
    42  
    43  ## License
    44  
    45  [MIT Licence](http://opensource.org/licenses/MIT)