Veți avea adesea nevoie de date pentru a vă testa aplicația cu valori semnificative. Folosește Gofakeit pentru a-l falsifica pentru tine.
Datele de testare fiabile și realiste sunt esențiale pentru asigurarea calității și funcționalității aplicațiilor dvs. Generarea de date false care imită scenarii din lumea reală este o abilitate utilă pentru multe forme de testare.
Nu există suport pentru generarea de date false în biblioteca standard, dar multe pachete există în ecosistemul mai larg al Go. Un pachet popular pentru generarea de date false este Gofakeit.
Noțiuni introductive cu Gofakeit
Gofakeit este un pachet pentru generarea de date false în programele tale Go.
Gofakeit oferă funcții extinse, inclusiv generarea aleatorie de date în diferite tipuri. De asemenea, oferă opțiuni personalizabile pentru aderarea la formate specifice, suport pentru localizare și realist generarea orei și datei.
Rulați această comandă în directorul de lucru al proiectului, după ce ați inițializat un nou proiect Go, pentru a adăuga Gofakeit ca dependență terță parte:
go get github.com/brianvoe/gofakeit/v6
După ce adăugați Gofakeit ca dependență, puteți importa pachetul astfel:
import (
"github.com/brianvoe/gofakeit/v6"
)
În general, Gofakeit oferă cea mai mare parte a funcționalității unui pachet de generare de date false.
Generarea datelor false de bază cu Gofakeit
Gofakeit oferă funcționalitate pentru generarea diferitelor tipuri de date, inclusiv nume, e-mailuri, telefoane, expresii de afaceri etc.
Iată cum puteți genera date false de bază cu Gofakeit:
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 principal funcția generează mai multe valori false cu Gofakeit și le imprimă pe consolă folosind Println funcția de la pachet fmt.
Gofakeit oferă etichete struct pentru generarea de date false pentru diferite câmpuri. Când utilizați aceste etichete struct, Gofakeit își va inițializa câmpurile cu date false.
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 Persongofakeit.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)
}
Câmpurile din Persoană struct toate au fals etichete struct. În principal funcția, cea persoană variabila este o instanță a structurii Person.
The gofakeit. Struct metoda completează elementele exportate ale unei structuri cu date aleatorii bazate pe valoarea lui fals eticheta câmpurilor exportate. The principal apoi imprimă câmpurile struct pe consolă.
Generarea de date false complexe
Puteți genera date false complexe cu Gofakeit, inclusiv propoziții aleatorii, paragrafe și lorem ipsum cu Propoziție, Paragraf, și LoremIpsumParagraf funcţii, respectiv.
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 generaRandomSentence funcția generează o propoziție aleatorie cu cea a lui Gofakeit Propoziție funcţie. The generateRandomParagraph funcția generează un paragraf aleatoriu cu Paragraf funcţie.
The genera LoremIpsum funcția generează un paragraf aleatoriu lorem ipsum cu LoremIpsumParagraf funcţie.
The principal funcția apelează funcțiile generateRandomSentence, generateRandomParagraph și generateLoremIpsum. Programul imprimă ieșirile funcției pe consolă.
Puteți genera date false pentru a vă testa baza de date
Gofakeit simplifică testarea cu generarea dinamică a datelor pentru a asigura compatibilitatea cu diverse cerințe.
Puteți folosi pachetul de baze de date/sql încorporat de la Go pentru a vă completa baza de date SQL cu date false pentru testare. Acest lucru vă poate ajuta să testați mai multe cazuri marginale și să îmbunătățiți securitatea bazei de date.