GOPTER
... the GOlang Property TestER
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