Na otestovanie aplikácie so zmysluplnými hodnotami budete často potrebovať údaje. Stačí použiť Gofakeit, aby ste to predstierali.
Spoľahlivé a realistické testovacie údaje sú kľúčové pri zabezpečovaní kvality a funkčnosti vašich aplikácií. Generovanie falošných údajov, ktoré napodobňujú scenáre zo skutočného sveta, je užitočná zručnosť pre mnohé formy testovania.
V štandardnej knižnici neexistuje žiadna podpora na generovanie falošných údajov, ale v širšom ekosystéme Go existuje veľa balíkov. Jedným z populárnych balíkov na generovanie falošných údajov je Gofakeit.
Začíname s Gofakeitom
Gofakeit je balík na generovanie falošných údajov vo vašich programoch Go.
Gofakeit ponúka rozsiahle funkcie vrátane generovania náhodných údajov naprieč rôznymi typmi. Poskytuje tiež prispôsobiteľné možnosti pre dodržiavanie konkrétnych formátov, podporu lokalizácie a realistickosť generovanie času a dátumu.
Spustite tento príkaz v pracovnom adresári vášho projektu po inicializácii nového projektu Go, aby ste pridali Gofakeit ako závislosť tretej strany:
go get github.com/brianvoe/gofakeit/v6
Po pridaní Gofakeit ako závislosti môžete importovať balík takto:
import (
"github.com/brianvoe/gofakeit/v6"
)
Celkovo Gofakeit poskytuje väčšinu funkcií balíka na generovanie falošných údajov.
Generovanie základných falošných údajov pomocou Gofakeitu
Gofakeit poskytuje funkcie na generovanie rôznych druhov údajov vrátane mien, e-mailov, telefónov, obchodných fráz atď.
Tu je návod, ako môžete pomocou Gofakeitu generovať základné falošné údaje:
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 Hlavná funkcia generuje niekoľko falošných hodnôt pomocou Gofakeit a vytlačí ich do konzoly pomocou Println funkcia z fmt balík.
Gofakeit poskytuje struct tagy na generovanie falošných údajov pre rôzne polia. Keď použijete tieto značky struct, Gofakeit inicializuje ich polia falošnými údajmi.
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)
}
Polia Osoba struct all have falošný struct tags. V Hlavná funkcia, osoba premenná je inštanciou štruktúry Osoba.
The gofakeit. Struct metóda vyplní exportované prvky štruktúry náhodnými údajmi na základe hodnoty falošný tag exportovaných polí. The Hlavná potom vytlačí struct polia do konzoly.
Generovanie komplexných falošných údajov
Pomocou Gofakeitu môžete generovať zložité falošné údaje vrátane náhodných viet, odsekov a lorem ipsum pomocou Veta, Odsek, a LoremIpsumParagraph funkcie, resp.
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 generovať náhodnú vetu funkcia generuje náhodnú vetu s Gofakeit's Veta funkciu. The vygenerovať náhodný odsek funkcia generuje náhodný odsek s Odsek funkciu.
The generovaťLoremIpsum funkcia generuje náhodný odsek lorem ipsum s LoremIpsumParagraph funkciu.
The Hlavná funkcia volá funkcie createRandomSentence, generationRandomParagraph a generationLoremIpsum. Program vytlačí výstupy funkcie do konzoly.
Môžete generovať falošné údaje na testovanie databázy
Gofakeit zjednodušuje testovanie pomocou dynamického generovania údajov, aby sa zabezpečila kompatibilita s rôznymi požiadavkami.
Na naplnenie databázy SQL falošnými údajmi na testovanie môžete použiť vstavaný balík databázy/sql Go. To vám môže pomôcť otestovať viac okrajových prípadov a zlepšiť bezpečnosť databázy.