Faker is a Go library that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you.
Faker is heavily inspired by PHP"s Faker
Faker requires Go >= 1.11
Start at https://play.golang.org/p/JpTagDGBaHK
Add this to your Go file
import "github.com/jaswdr/faker"
And run go get
or dep ensure
to get the package.
Use faker.New()
to create and initialize a faker generator, which can generate data by accessing properties named after the type of data you want.
import "github.com/jaswdr/faker"
func main() {
faker := faker.New()
faker.Person().Name()
// Lucy Cechtelar
faker.Address().Address()
// 426 Jordy Lodge
faker.Lorem().Text()
// Dolores sit sint laboriosam dolorem culpa et autem. Beatae nam sunt fugit
// et sit et mollitia sed.
// Fuga deserunt tempora facere magni omnis. Omnis quia temporibus laudantium
// sit minima sint.
}
Even if this example shows a method access, each call to faker.Name()
yields a different (random) result.
p := faker.Person()
for i:=0; i < 10; i++ {
fmt.Println(p.Name())
}
// Adaline Reichel
// Dr. Santa Prosacco DVM
// Noemy Vandervort V
// Lexi O"Conner
// Gracie Weber
// Roscoe Johns
// Emmett Lebsack
// Keegan Thiel
// Wellington Koelpin II
// Ms. Karley Kiehn V
Generate fake data using Structs
type ExampleStruct struct {
SimpleStringField string
SimpleNumber int
SimpleBool bool
SomeFormatedString string `fake:"??? ###"`
SomeStringArray [5]string `fake:"????"`
}
example := ExampleStruct{}
f.Struct().Fill(&example)
fmt.Printf("%+v", example)
//{SimpleStringField:87576a01c2a547b2bbf9b7c736d1db40 SimpleNumber:9223372036854775807 SimpleBool:false SomeFormatedString:cxo 321 SomeStringArray:[effr swxp ldnj obcs nvlg]}
See more formatters in docs
Have a question? Use the Discussions page.
Create a fork and get the code.
$ go get github.com/jaswdr/faker
Do your changes, add tests, run the tests.
$ go test
PASS
ok github.com/jaswdr/faker 0.010s
Push to your fork and send a new pull request from your fork to this repository.
Faker is released under the MIT Licence. See the bundled LICENSE file for details.