我正在使用Validator包。我有下一个结构:
type User struct {
Name string `validate:"required"`
Email string `validate:"required,email"`
CreditCard string `validate:"credit_card"`
Password string `validate:"min=8,max=255"`
}
我能做些什么来为那些字段生成有效的随机值?
您可以使用faker包。它具有类似FirstName()
、Email()
、CCNumber()
的功能。您也可以将标记(一个、两个(与结构中的此包一起使用。
如果你正在编写测试,你可以使用Fuzzing(在Go 1.18中实现(
看起来像这样:
import "testing"
func TestHello(f *testing.F) {
// Add your seeds here
f.add("John", "john@test.com", "1234-5678-1234-5678", "@HelloWorld123")
f.Fuzz(func(t *testing.T, name, email, creditCard, pass string) {
// Write your test here
}))
}
然后运行:
$ go test -fuzz