Fuzzing is a great and powerfull tool, however API isn't that friendly to end user.
Intention: Make fuzzing great again using reflect.MakeFunc
type Input struct {
Name string
Email string `ff:"-,valid_email"`
Attributes struct {
Age int
Website string
}
}
ff := fuzz.New(Input) // recursively iterate over fields, to collect all basic types (and additional config)
f.Add(ff.Seed()) // define basic type arguments for each field. Optionally passing actual seed values.
// Fuzz expects weird set of basic typed arguments, so we need to wrap it.
f.Fuzz(ff.FuzzFunc(t *testing.T, func(input Input){
and write our tests with less chore.
}))