package quick
Import Path
testing/quick (on go.dev)
Dependency Relation
imports 7 packages, and imported by 0 packages
Involved Source Files
Package quick implements utility functions to help with black box testing.
The testing/quick package is frozen and is not accepting new features.
Package-Level Type Names (total 5)
A CheckEqualError is the result [CheckEqual] finding an error.
CheckError CheckError
CheckError.Count int
CheckError.In []any
Out1 []any
Out2 []any
(*CheckEqualError) Error() string
*CheckEqualError : error
A CheckError is the result of Check finding an error.
Count int
In []any
(*CheckError) Error() string
*CheckError : error
A Config structure contains options for running a test.
MaxCount sets the maximum number of iterations.
If zero, MaxCountScale is used.
MaxCountScale is a non-negative scale factor applied to the
default maximum.
A count of zero implies the default, which is usually 100
but can be set by the -quickchecks flag.
Rand specifies a source of random numbers.
If nil, a default pseudo-random source will be used.
Values specifies a function to generate a slice of
arbitrary reflect.Values that are congruent with the
arguments to the function being tested.
If nil, the top-level Value function is used to generate them.
func Check(f any, config *Config) error
func CheckEqual(f, g any, config *Config) error
A Generator can generate random values of its own type.
Generate returns a random instance of the type on which it is a
method using the size as a size hint.
Package-Level Functions (total 3)
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 {
y := OddMultipleOfThree(x)
return y%2 == 1 && y%3 == 0
}
if err := quick.Check(f, nil); err != nil {
t.Error(err)
}
}
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.
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.
The pages are generated with Golds v0.7.0-preview. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |