Overview
Package quick implements utility functions to help with black box testing.
The testing/quick package is frozen and is not accepting new features.
Index
- func Check(f interface{}, config *Config) error
- func Value(t reflect.Type, rand *rand.Rand) (value reflect.Value, ok bool)
- type Generator
Check looks for an input to f, any function that returns bool, such that f
returns false. It calls f repeatedly, with arbitrary values for each argument.
If f returns false on a given input, Check returns that input as a *CheckError.
For example:
func TestOddMultipleOfThree(t *testing.T) {
f := func(x int) bool {
return y%2 == 1 && y%3 == 0
}
t.Error(err)
}
func CheckEqual
- func CheckEqual(f, g interface{}, config *Config)
CheckEqual looks for an input on which f and g return different results. It
calls f and g repeatedly with arbitrary values for each argument. If f and g
return different answers, CheckEqual returns a *CheckEqualError describing the
input and the outputs.
func Value
Value returns an arbitrary value of the given type. If the type implements the
Generator interface, that will be used. Note: To create arbitrary values for
structs, all the fields must be exported.
A CheckEqualError is the result CheckEqual finding an error.
type
¶
- type CheckError struct {
- Count
- In []interface{}
- }
A CheckError is the result of Check finding an error.
- func (s *CheckError) Error()
type Config
A Config structure contains options for running a test.
A Generator can generate random values of its own type.
type
¶
- type SetupError
A SetupError is the result of an error in the way that check is being used,
independent of the functions being tested.
- func (s SetupError) Error()