Jums bieži būs nepieciešami dati, lai pārbaudītu lietotni ar jēgpilnām vērtībām. Vienkārši izmantojiet Gofakeit, lai to viltotu.

Uzticami un reāli testa dati ir ļoti svarīgi, lai nodrošinātu jūsu lietotņu kvalitāti un funkcionalitāti. Viltus datu ģenerēšana, kas atdarina reālās pasaules scenārijus, ir noderīga prasme daudzos testēšanas veidos.

Standarta bibliotēkā netiek atbalstīta viltus datu ģenerēšana, taču Go plašākajā ekosistēmā pastāv daudzas pakotnes. Viena populāra viltus datu ģenerēšanas pakotne ir Gofakeit.

Darba sākšana ar Gofakeit

Gofakeit ir pakotne viltus datu ģenerēšanai jūsu Go programmās.

Gofakeit piedāvā plašas iespējas, tostarp nejaušu datu ģenerēšanu dažādos veidos. Tas nodrošina arī pielāgojamas opcijas konkrētu formātu ievērošanai, lokalizācijas atbalstam un reālistiskam laika un datuma ģenerēšana.

Palaidiet šo komandu sava projekta darba direktorijā pēc jauna Go projekta inicializācijas, lai pievienotu Gofakeit kā trešās puses atkarību:

go get github.com/brianvoe/gofakeit/v6

Pēc Gofakeit kā atkarības pievienošanas varat importēt paketi šādi:

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

Kopumā Gofakeit nodrošina lielāko daļu viltus datu ģenerēšanas pakotnes funkcionalitātes.

Pamata viltus datu ģenerēšana, izmantojot Gofakeit

Gofakeit nodrošina funkcionalitāti dažāda veida datu ģenerēšanai, ieskaitot vārdus, e-pastus, tālruņus, biznesa frāzes utt.

Lūk, kā jūs varat ģenerēt viltotus pamatdatus, izmantojot 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 galvenais funkcija ģenerē vairākas viltotas vērtības ar Gofakeit un izdrukā tās konsolē, izmantojot Println funkcija no fmt pakotne.

Gofakeit nodrošina struktūras tagus viltus datu ģenerēšanai dažādiem laukiem. Lietojot šos struktūras tagus, Gofakeit inicializēs to laukus ar viltotiem datiem.

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)
}

Lauki Persona struktūra visiem ir viltots struktūras tagi. Iekš galvenais funkcija, persona mainīgais ir personas struktūras gadījums.

The gofakeit. Struktūra metode aizpilda eksportētos struktūras elementus ar nejaušiem datiem, pamatojoties uz vērtību viltots eksportēto lauku atzīme. The galvenais pēc tam konsolē izdrukā struct laukus.

Sarežģītu viltus datu ģenerēšana

Izmantojot Gofakeit, varat ģenerēt sarežģītus viltus datus, tostarp nejaušus teikumus, rindkopas un lorem ipsum, izmantojot Teikums, Paragrāfs, un LoremIpsumParagrāfs funkcijas, attiecīgi.

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 ģenerētRandomSentence funkcija ģenerē nejaušu teikumu ar Gofakeit's Teikums funkciju. The ģenerētRandomParagraph funkcija ģenerē nejaušu rindkopu ar Paragrāfs funkciju.

The ģenerēt LoremIpsum funkcija ģenerē nejaušu lorem ipsum rindkopu ar LoremIpsumParagrāfs funkciju.

The galvenais funkcija izsauc funkcijas generateRandomSentence, generateRandomParagraph un generateLoremIpsum. Programma izdrukā funkcijas izvadus uz konsoli.

Varat ģenerēt viltotus datus, lai pārbaudītu savu datu bāzi

Gofakeit vienkāršo testēšanu ar dinamisku datu ģenerēšanu, lai nodrošinātu saderību ar dažādām prasībām.

Varat izmantot Go iebūvēto datu bāzes/sql pakotni, lai aizpildītu savu SQL datu bāzi ar viltotiem datiem testēšanai. Tas var palīdzēt pārbaudīt vairāk gadījumu un uzlabot datu bāzes drošību.