testing/quick
Package quick
import "testing/quick"
- 概观
- 指数
概观
包快速实现实用功能,以帮助进行黑匣子测试。
测试/快速软件包已冻结,不接受新功能。
指数
- func Check(f interface{}, config *Config) error
- func CheckEqual(f, g interface{}, config *Config) error
- func Value(t reflect.Type, rand *rand.Rand) (value reflect.Value, ok bool)
- type CheckEqualError
- func (s *CheckEqualError) Error() string
- type CheckError
- func (s *CheckError) Error() string
- type Config
- type Generator
- type SetupError
- func (s SetupError) Error() string
包文件
func CheckSource
func Check(f interface{}, config *Config) error
Check会查找f的输入,任何返回bool的函数都会返回false。它重复调用f,每个参数都有任意值。如果f在给定的输入上返回false,则Check将返回该输入为* CheckError。例如:
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)
}
}
func CheckEqualSource
func CheckEqual(f, g interface{}, config *Config) error
CheckEqual查找f和g返回不同结果的输入。它用每个参数的任意值重复调用f和g。如果f和g返回不同的答案,则CheckEqual将返回描述输入和输出的* CheckEqualError。
func ValueSource
func Value(t reflect.Type, rand *rand.Rand) (value reflect.Value, ok bool)
值返回给定类型的任意值。如果该类型实现了Generator接口,则将使用该接口。注意:要为结构创建任意值,必须导出所有字段。
type CheckEqualErrorSource
CheckEqualError是CheckEqual发现错误的结果。
type CheckEqualError struct {
CheckError
Out1 []interface{}
Out2 []interface{}
}
func (*CheckEqualError) ErrorSource
func (s *CheckEqualError) Error() string
type CheckErrorSource
CheckError是检查发现错误的结果。
type CheckError struct {
Count int
In []interface{}
}
func (*CheckError) ErrorSource
func (s *CheckError) Error() string
type ConfigSource
配置结构包含用于运行测试的选项。
type Config struct {
// MaxCount sets the maximum number of iterations.
// If zero, MaxCountScale is used.
MaxCount int
// MaxCountScale is a non-negative scale factor applied to the
// default maximum.
// If zero, the default is unchanged.
MaxCountScale float64
// Rand specifies a source of random numbers.
// If nil, a default pseudo-random source will be used.
Rand *rand.Rand
// 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.
Values func([]reflect.Value, *rand.Rand)
}
type GeneratorSource
发生器可以生成它自己类型的随机值。
type Generator interface {
// Generate returns a random instance of the type on which it is a
// method using the size as a size hint.
Generate(rand *rand.Rand, size int) reflect.Value
}
type SetupErrorSource
SetupError是使用检查方式时出错的结果,与正在测试的函数无关。
type SetupError string
func (SetupError) ErrorSource
func (s SetupError) Error() string