Često ćete trebati podatke za testiranje svoje aplikacije sa smislenim vrijednostima. Samo upotrijebite Gofakeit da lažira za vas.

Pouzdani i realni podaci testiranja ključni su za osiguranje kvalitete i funkcionalnosti vaših aplikacija. Generiranje lažnih podataka koji oponašaju scenarije iz stvarnog svijeta korisna je vještina za mnoge oblike testiranja.

Ne postoji podrška za generiranje lažnih podataka u standardnoj knjižnici, ali mnogi paketi postoje u širem ekosustavu Goa. Jedan popularan paket za generiranje lažnih podataka je Gofakeit.

Početak rada s Gofakeitom

Gofakeit je paket za generiranje lažnih podataka u vašim Go programima.

Gofakeit nudi opsežne značajke, uključujući nasumično generiranje podataka u različitim vrstama. Također pruža prilagodljive opcije za pridržavanje određenih formata, podršku za lokalizaciju i realističnost generiranje vremena i datuma.

Pokrenite ovu naredbu u radnom direktoriju vašeg projekta, nakon što ste inicijalizirali novi Go projekt, da dodate Gofakeit kao ovisnost treće strane:

instagram viewer
go get github.com/brianvoe/gofakeit/v6

Nakon dodavanja Gofakeita kao ovisnosti, možete uvesti paket na sljedeći način:

import (
"github.com/brianvoe/gofakeit/v6"
)

Sve u svemu, Gofakeit pruža većinu funkcionalnosti lažnog paketa za generiranje podataka.

Generiranje osnovnih lažnih podataka s Gofakeitom

Gofakeit pruža funkcionalnost za generiranje različitih vrsta podataka, uključujući imena, e-mailove, telefone, poslovne izraze itd.

Evo kako možete generirati osnovne lažne podatke s Gofakeitom:

package main

import (
"fmt"
"github.com/brianvoe/gofakeit/v6"
)

funcmain() {
// Generate a fake name
name := gofakeit.Name()
fmt.Println("Name:", name)

// Generate a fake email address
email := gofakeit.Email()
fmt.Println("Email:", email)

// Generate a fake phone number
phone := gofakeit.Phone()
fmt.Println("Phone:", phone)

// Generate a fake company name
company := gofakeit.Company()
fmt.Println("Company:", company)

// Generate a fake credit card number
creditCard := gofakeit.CreditCardNumber()
fmt.Println("Credit Card:", creditCard)

// Generate a fake hacker phrase
hackerPhrase := gofakeit.HackerPhrase()
fmt.Println("Hacker Phrase:", hackerPhrase)

// Generate a fake job title
jobTitle := gofakeit.JobTitle()
fmt.Println("Job Title:", jobTitle)

// Generate a fake currency abbreviation
currency := gofakeit.CurrencyShort()
fmt.Println("Currency:", currency)
}

The glavni generira nekoliko lažnih vrijednosti s Gofakeitom i ispisuje ih na konzolu pomoću Println funkcija iz fmt paket.

Gofakeit pruža strukturne oznake za generiranje lažnih podataka za različita polja. Kada koristite ove strukturne oznake, Gofakeit će inicijalizirati njihova polja s lažnim podacima.

import (
"fmt"
"time"

"github.com/brianvoe/gofakeit/v6"
)

type Person struct {
ID string`fake:"{uuid}"`
FirstName string`fake:"{firstname}"`
LastName string`fake:"{lastname}"`
Age int`fake:"{number: 18,60}"`
Email string`fake:"{email}"`
Address string`fake:"{address}"`
CreatedAt time.Time `fake:"{date}"`
}

funcmain() {
var person Person

gofakeit.Struct(&person)

fmt.Printf("ID: %s\\n", person.ID)
fmt.Printf("First Name: %s\\n", person.FirstName)
fmt.Printf("Last Name: %s\\n", person.LastName)
fmt.Printf("Age: %d\\n", person.Age)
fmt.Printf("Email: %s\\n", person.Email)
fmt.Printf("Address: %s\\n", person.Address)
fmt.Printf("Created At: %s\\n", person.CreatedAt)
}

Polja od Osoba struct svi imaju lažan struct oznake. u glavni funkcija, osoba varijabla je instanca strukture Person.

The gofakeit. Struktura metoda ispunjava izvezene elemente strukture nasumičnim podacima na temelju vrijednosti lažan oznaka izvezenih polja. The glavni funkcija zatim ispisuje polja strukture na konzolu.

Generiranje složenih lažnih podataka

Možete generirati složene lažne podatke s Gofakeitom, uključujući nasumične rečenice, odlomke i lorem ipsum s Rečenica, stavak, i LoremIpsumParagraph funkcije, odnosno.

package main

import (
"fmt"

"github.com/brianvoe/gofakeit/v6"
)

funcgenerateRandomSentence()string {
// Generate a random sentence with 6 words
sentence := gofakeit.Sentence(6)
return sentence
}

funcgenerateRandomParagraph()string {
// Generate a random paragraph with 3 sentences, each having 4 to 8 words
paragraph := gofakeit.Paragraph(3, 4, 8, "/n")
return paragraph
}

funcgenerateLoremIpsum()string {
// Generate 2 paragraphs of lorem ipsum text, each having 3 to 5 sentences
loremIpsum := gofakeit.LoremIpsumParagraph(3, 5, 12, "\\n")
return loremIpsum
}

funcmain() {
// Set up the random seed for consistent results (optional)
gofakeit.Seed(0)

// Generate and print random sentence
fmt.Println("Random Sentence:")
fmt.Println(generateRandomSentence())

// Generate and print random paragraph
fmt.Println("\\nRandom Paragraph:")
fmt.Println(generateRandomParagraph())

// Generate and print lorem ipsum text
fmt.Println("\\nLorem Ipsum Text:")
fmt.Println(generateLoremIpsum())
}

The generiratiNasumična rečenica funkcija generira nasumične rečenice s Gofakeit-om Rečenica funkcija. The generiratiNasumični odlomak funkcija generira nasumični odlomak s stavak funkcija.

The generiratiLoremIpsum funkcija generira nasumični odlomak lorem ipsum s LoremIpsumParagraph funkcija.

The glavni funkcija poziva funkcije generateRandomSentence, generateRandomParagraph i generateLoremIpsum. Program ispisuje izlaze funkcije na konzolu.

Možete generirati lažne podatke kako biste testirali svoju bazu podataka

Gofakeit pojednostavljuje testiranje dinamičkim generiranjem podataka kako bi se osigurala kompatibilnost s različitim zahtjevima.

Možete koristiti Go-ov ugrađeni paket baza podataka/sql za popunjavanje vaše SQL baze podataka lažnim podacima za testiranje. To vam može pomoći da testirate više rubnih slučajeva i poboljšate sigurnost baze podataka.