在Go中生成有效的随机伪造值



我正在使用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

相关内容

  • 没有找到相关文章