Gyakran szüksége lesz adatokra, hogy értelmes értékekkel tesztelje az alkalmazást. Csak használja a Gofakeit-et, hogy meghamisítsa.

A megbízható és valósághű tesztadatok kulcsfontosságúak alkalmazásai minőségének és funkcionalitásának biztosításában. A valós forgatókönyveket utánzó hamis adatok generálása hasznos készség a tesztelés számos formájához.

A szabványos könyvtárban nincs támogatás hamis adatok generálására, de sok csomag létezik a Go tágabb ökoszisztémájában. A hamis adatok generálására szolgáló népszerű csomag a Gofakeit.

A Gofakeit használatának megkezdése

A Gofakeit egy csomag hamis adatok generálására a Go programokban.

A Gofakeit széleskörű szolgáltatásokat kínál, beleértve a véletlenszerű adatgenerálást különféle típusokon. Ezenkívül testreszabható lehetőségeket biztosít az adott formátumokhoz való ragaszkodáshoz, a lokalizáció támogatásához és a valósághűséghez idő és dátum generálása.

Futtassa ezt a parancsot a projekt munkakönyvtárában, miután inicializált egy új Go-projektet, hogy hozzáadja a Gofakeit-et harmadik féltől származó függőségként:

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

A Gofakeit függőségként való hozzáadása után a csomagot a következőképpen importálhatja:

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

Összességében a Gofakeit biztosítja a hamis adatgeneráló csomag legtöbb funkcióját.

Alapvető hamis adatok generálása a Gofakeit segítségével

A Gofakeit funkcionalitást biztosít különféle típusú adatok generálására, beleértve a neveket, e-maileket, telefonokat, üzleti kifejezéseket stb.

Így generálhat alapvető hamis adatokat a Gofakeit segítségével:

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

A fő- függvény számos hamis értéket generál a Gofakeit segítségével, és kinyomtatja azokat a konzolra a Println funkció a fmt csomag.

A Gofakeit struct címkéket biztosít hamis adatok generálásához különböző mezőkhöz. Amikor ezeket a struct címkéket használja, a Gofakeit hamis adatokkal inicializálja a mezőket.

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

A mezők a Személy struktúra mind rendelkezik hamisítvány struct címkék. Ban,-ben fő- funkció, a személy változó a Person struktúra egy példánya.

A gofakeit. Struktúra metódus egy struktúra exportált elemeit véletlenszerű adatokkal tölti ki az értéke alapján hamisítvány az exportált mezők címkéje. A fő- függvény ezután kiírja a struct mezőket a konzolra.

Összetett hamis adatok generálása

A Gofakeit segítségével összetett hamis adatokat generálhat, beleértve véletlenszerű mondatokat, bekezdéseket és lorem ipsum-ot a Mondat, Bekezdés, és LoremIpsumParagraph funkciókat, ill.

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

A generál RandomSentence függvény egy véletlenszerű mondatot generál a Gofakeit-vel Mondat funkció. A gener RandomParagraph függvény egy véletlenszerű bekezdést generál a Bekezdés funkció.

A gener LoremIpsum függvény egy véletlenszerű lorem ipsum bekezdést generál a LoremIpsumParagraph funkció.

A fő- függvény meghívja a generateRandomSentence, generateRandomParagraph és generateLoremIpsum függvényeket. A program kiírja a függvény kimeneteit a konzolra.

Hamis adatokat generálhat adatbázisa teszteléséhez

A Gofakeit dinamikus adatgenerálással leegyszerűsíti a tesztelést, hogy biztosítsa a különféle követelményekkel való kompatibilitást.

A Go beépített adatbázis-/sql-csomagjával feltöltheti SQL-adatbázisát hamis adatokkal tesztelés céljából. Ez segíthet több éles eset tesztelésében és az adatbázis biztonságának javításában.