Dažnai prireiks duomenų, kad galėtumėte išbandyti programą su reikšmingomis reikšmėmis. Tiesiog naudokite Gofakeit, kad padirbtumėte.

Patikimi ir tikroviški bandymų duomenys yra labai svarbūs užtikrinant programų kokybę ir funkcionalumą. Suklastotų duomenų, imituojančių realius scenarijus, generavimas yra naudingas daugelio testavimo formų įgūdis.

Standartinėje bibliotekoje nepalaikomas netikrų duomenų generavimas, tačiau platesnėje Go ekosistemoje yra daug paketų. Vienas populiarus netikrų duomenų generavimo paketas yra „Gofakeit“.

Darbo su Gofakeit pradžia

Gofakeit yra paketas, skirtas generuoti netikrus duomenis jūsų Go programose.

Gofakeit siūlo daugybę funkcijų, įskaitant atsitiktinį įvairių tipų duomenų generavimą. Jame taip pat pateikiamos tinkinamos konkrečių formatų laikymosi parinktys, lokalizacijos palaikymas ir tikroviškumas laiko ir datos generavimas.

Paleiskite šią komandą savo projekto darbo kataloge, kai inicijavote naują Go projektą, kad pridėtumėte Gofakeit kaip trečiosios šalies priklausomybę:

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

Pridėję Gofakeit kaip priklausomybę, galite importuoti paketą taip:

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

Apskritai „Gofakeit“ suteikia didžiąją dalį netikrų duomenų generavimo paketo funkcijų.

Pagrindinių netikrų duomenų generavimas naudojant „Gofakeit“.

„Gofakeit“ suteikia galimybę generuoti įvairių rūšių duomenis, įskaitant vardus, el. pašto adresus, telefonus, verslo frazes ir kt.

Štai kaip galite generuoti pagrindinius netikrus duomenis naudodami 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 pagrindinis funkcija sugeneruoja keletą netikrų reikšmių su Gofakeit ir atspausdina jas į konsolę naudodama Println funkcija iš fmt paketą.

„Gofakeit“ teikia struktūrines žymas, skirtas įvairių laukų netikriems duomenims generuoti. Kai naudosite šias struktūrines žymas, Gofakeit inicijuos jų laukus su netikrais duomenimis.

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

Laukai Asmuo konstrukciją turi visi netikras struktūrinės žymos. Viduje pagrindinis funkcija, asmuo kintamasis yra asmens struktūros pavyzdys.

The gofakeit. Struktūra metodas užpildo eksportuotus struktūros elementus atsitiktiniais duomenimis, remiantis reikšme netikras eksportuotų laukų žyma. The pagrindinis tada funkcija spausdina struct laukus į konsolę.

Sudėtingų netikrų duomenų generavimas

Naudodami Gofakeit galite generuoti sudėtingus netikrus duomenis, įskaitant atsitiktinius sakinius, pastraipas ir lorem ipsum naudodami Sakinys, pastraipa, ir LoremIpsumPastraipa funkcijos, atitinkamai.

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 generuoti RandomSentence funkcija sugeneruoja atsitiktinį sakinį su Gofakeit's Sakinys funkcija. The generuoti RandomParagraph funkcija sugeneruoja atsitiktinę pastraipą su Pastraipa funkcija.

The generuoti LoremIpsum funkcija sugeneruoja atsitiktinę lorem ipsum pastraipą su LoremIpsumPastraipa funkcija.

The pagrindinis funkcija iškviečia generRandomSentence, GeneRandomParagraph ir Gene LoremIpsum funkcijas. Programa išspausdina funkcijos išvestis į konsolę.

Galite generuoti netikrus duomenis, kad patikrintumėte savo duomenų bazę

„Gofakeit“ supaprastina testavimą su dinamine duomenų generavimu, kad užtikrintų suderinamumą su įvairiais reikalavimais.

Galite naudoti „Go“ integruotą duomenų bazę / sql paketą, norėdami užpildyti savo SQL duomenų bazę netikrais duomenimis, skirtus išbandyti. Tai gali padėti išbandyti daugiau kraštinių atvejų ir pagerinti duomenų bazės saugumą.